Java 带BufferedReader和split()的空指针
我正在尝试读取一个文件,其中包含如下行:Java 带BufferedReader和split()的空指针,java,nullpointerexception,bufferedreader,Java,Nullpointerexception,Bufferedreader,我正在尝试读取一个文件,其中包含如下行: 438782 Abaca bunchy top virus NC_010314 Musa Sp. 因此,这些行包含由制表符分隔的信息。我试图阅读此文件,并在拆分后对每一行进行处理。但它不断抛出NullPointerException错误。这总是发生在我试图分裂的线上。在下面的代码中,我遗漏了与此问题无关的所有内容 BufferedReader br = new BufferedReader(new FileReader(filenam
438782 Abaca bunchy top virus NC_010314 Musa Sp.
因此,这些行包含由制表符分隔的信息。我试图阅读此文件,并在拆分后对每一行进行处理。但它不断抛出NullPointerException
错误。这总是发生在我试图分裂的线上。在下面的代码中,我遗漏了与此问题无关的所有内容
BufferedReader br = new BufferedReader(new FileReader(filename));
String nextLine = br.readLine();
String[] line;
while (nextLine != null) {
nextLine = br.readLine();
line = nextLine.split("\t"); //Error line
//Do something with line
}
这一行应该是while循环中的最后一行,而不是第一行
nextLine = br.readLine();
显然,nextLine是空的。首先执行空检查。同时在
\\t
@roddyoffFrozenpeas上拆分如果我不尝试拆分它,我可以很好地使用nextLine。@RnRoger不,你不能。它是空的。没有可以合作的队伍。编写此循环的标准方法是while((line=in.readLine())!=null)
。那么您就不可能在while
块中获得NullPointerException
。@roddyOfFrozenpeas:这是怎么回事。我感谢你的努力,但看起来这次行动只是想浪费你的时间。