ava 将读入的文件的一段截取下来并保存时出现nullpointerexception [

public String[] read()
{
try {
String path="data.txt";
File f=new File(path);
InputStreamReader reader= new InputStreamReader(new FileInputStream(f));
BufferedReader br=new BufferedReader(reader);
String line="";
String[] s=new String[36801];
int n=0;
line=br.readLine();
while(line!=null)
{

line=br.readLine();
s[n]=line.substring(41,45);
System.out.print(s[n]+" ");
n++;
}
br.close();
return s;
}catch (IOException e) {
e.printStackTrace();
}
return null;
}
下面读的文件 中的其中一行2011:08:03:00:00:05:687: C1 1273 60001 1277 2947 6625 3 6 1277 1269 1272 1348 1375 1182 0 0 0 0

while循环里的line=br.readline;这句由于已经执行过一次,再执行就会返回null,所以while循环里的line为null,程序需要用到null对象时发现为空,所以抛出nullpointerexception异常

因为截取的是41-45,可能存在某行没有这么长的长度,造成指针吧,可以先进行判断;
if(line.length() > 45) { dosomething();}
而且line会出现跳过对第一行的截取;直接对第两行进行操作。