java split 出现空指针异常

importjava.io.*;publicclassMoveFile{publicstaticvoidmain(String[]args)throwsFileNotFo... import java.io.*;
public class MoveFile
{
public static void main(String[] args) throws
FileNotFoundException,IOException
{
FileReader inData =new FileReader (args[0]);
BufferedReader inFile = new BufferedReader (inData);
FileWriter outData = new FileWriter (args[1]);
PrintWriter outFile = new PrintWriter (outData);
String[] s = new String[200000];

for(int i=0;i<s.length;i++){
s[i] = inFile.readLine();
String[] errname = s[i].split(" ");
for(int j=0;j<errname.length;j++){System.out.println(errname[j]);
outFile.println("move"+" "+errname[j]+" "+args[2]);
}
}
inFile.close();
outFile.close();
System.out.println("批处理文件已经生成");
}
}

//String[] errname = s.split();
//这行出现空指针异常,我在网上找了许多关于split的例子,结果都是空指针异常,我就纳闷了,别人贴网上之前没有问题吗?
展开
 我来答
飞蛋蛋
2009-06-10 · TA获得超过973个赞
知道小有建树答主
回答量:816
采纳率:0%
帮助的人:652万
展开全部
s数组中有null值,所以空指针,readline()方法当文件读到末尾时返回null,然后你的循环循环到这个null.split(" ")时就空指针了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
apollo47
推荐于2016-01-02 · TA获得超过1451个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:538万
展开全部
因为文件没有那么长(200000行),
s[i] = inFile.readLine(); 这里返回了Null,所以后面s[i].split就报空指针了。

在出错的语句的前面加一名:
if(s[i] == null) break;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yxb88858
2009-06-10 · 超过52用户采纳过TA的回答
知道答主
回答量:271
采纳率:0%
帮助的人:196万
展开全部
split这个方法要传参数的!比如abcdefabce 你split("a") 以a为分割线!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
渡轮555
2009-06-10 · TA获得超过534个赞
知道小有建树答主
回答量:863
采纳率:100%
帮助的人:656万
展开全部
文件读到末尾了,返回是空,所以出现空指针异常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式