Exception in thread "main" java.lang.NullPointerException错误怎么解决

Syler_yu 2011-11-24 10:56:17
下面这段程序,编译没问题,但运行时候会报错
Exception in thread "main" java.lang.NullPointerException
at operation.GetFileInfo.getFileNum(GetFileInfo.java:20)
at operation.ExtractOperation.extraction(ExtractOperation.java:11)
at operation.ExtractOperation.main(ExtractOperation.java:30)
报错定位在下面红色的语句上,我知道这是说有空指针存在,可是我找不到。
麻烦大家帮我找找错误!!

此外,我的程序是从html源代码中匹配文字,然后输入到文件parameter.txt中,有一次运行成功了,建立了txt文件,却没内容,麻烦大家帮个忙!谢谢!


public class ExtractOperation {
static String filePath = "./source/";
public void extraction(String filePath) throws IOException{
GetFileInfo gfn = new GetFileInfo();
filePath=filePath+gfn.getFileName(filePath)+"/";
long num = gfn.getFileNum(filePath); for(int i=1;i<=num;i++){
char c[] = new char[3000]; //创建可容纳3000个字符的数组
FileReader fr = new FileReader(filePath+String.valueOf(i)+"/"+"index"+String.valueOf(i)+".txt");
int number = fr.read(c); //将数据读入字符数组c内,并返回读取的字符数
String str=new String(c,0,number); //将字符串数组转换成字符串
Extraction extra = new Extraction();
try{
extra.getAttri(str);
}
catch(IOException e){
e.printStackTrace();
}
}
}
public static void main(String args[])
{
ExtractOperation eo = new ExtractOperation();
try {
eo.extraction(filePath); } catch (IOException e) {
e.printStackTrace();
}
}
}

public class GetFileInfo{
public String getFileName(String filePath)
{
String fileName=null;
int lastNum=0;
File file=new File(filePath);
String[] test=file.list();
lastNum=file.list().length;
fileName=test[lastNum-1];
return fileName;
}
public long getFileNum(String filePath)
{
long lastNum;
File file=new File(filePath);
lastNum=file.list().length; return lastNum;
}
}

public class Extraction{

public void getAttri(String str)throws IOException
{
File file = new File("./source/Parameter.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
String s1="(?<=<td class=(\\u0022)tdTitle(\\u0022)>)\\w+(?=</td>)";//匹配参数名称
Pattern p1=Pattern.compile(s1);
Matcher m1=p1.matcher(str);
while(m1.find())
{
String s=m1.group();
bw.write(s);
}
bw.close();
}
}

...全文
182 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙腾冰 2011-11-24
  • 打赏
  • 举报
回复
仔细找一下你的文件是不是路径的符号写的不对
萧冰楚楚 2011-11-24
  • 打赏
  • 举报
回复
你这个代码到底是想做什么呢,static String filePath = "./source/";
这个路径完全就是错误的,把它改了就不会报错
JavaAlpha 2011-11-24
  • 打赏
  • 举报
回复
File file = new File("./source/Parameter.txt");    

首先你要判断这个路径下面有没有这个文件。
Syler_yu 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qq931226110 的回复:]
空指针的错误就不要发帖了,仔细检查检查,可以打印出来看看是哪错了
[/Quote]

可是真的都找过了,代码也不是很长,可能我基础不够好,自己找不出来。拜托了~
qq931226110 2011-11-24
  • 打赏
  • 举报
回复
空指针的错误就不要发帖了,仔细检查检查,可以打印出来看看是哪错了
Syler_yu 2011-11-24
  • 打赏
  • 举报
回复
呃。。。上面在java代码里设置字体颜色没有用,大家应该能知道那几句标红色了吧~~抱歉。。
Syler_yu 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 chianfirstli 的回复:]
仔细找一下你的文件是不是路径的符号写的不对
[/Quote]
检查了下没有错,我特地改成绝对路径试了下,还是报相同的错。。。请问怎么办
Syler_yu 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gougou8805 的回复:]
你这个代码到底是想做什么呢,static String filePath = "./source/";
这个路径完全就是错误的,把它改了就不会报错
[/Quote]
谢谢你的回复!这个为什么是错的呢?我在别的程序里用到一模一样的路径,没有问题呀~
Syler_yu 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 javaalpha 的回复:]
Java code

File file = new File("./source/Parameter.txt");

首先你要判断这个路径下面有没有这个文件。
[/Quote]

谢谢!原来是没有这个文件,但是没有的话,程序会自动创建;
我的本意是自动创建,然后往里写东西;
现在程序自动创建了,内容却是空白。即使我自己手动创建文档,也没有内容。
不知道怎么办了~

62,632

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧