以下是代码:
File tempFile = new File("myTempFile.txt");
tempFile.createNewFile();
File inputFile = new File("Friend_list.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
String currentLine;
while((currentLine = reader.readLine()) != null)
{
String trimmedLine;
trimmedLine = currentLine.trim();
}
在代码的这一部分中,有一个NullPointerException
。具体的例外情况如下:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke
"String.trim()" because "currentLine" is null at com.company.Main.delete(Main.java:167)
at com.company.Main.main(Main.java:48)
问题是如果字符串为null,那么它如何进入while循环?我交叉检查了文件,文件中有数据,那么它怎么可能是空的?
我认为这是您问题的实际原因。(基于你不恰当地发布为"答案"的代码,现已删除。(
currentLine = reader.readLine();
trimmedLine = currentLine.trim();
请注意,在>gt;那些<lt;语句,在调用trim()
之前,您不是在测试null
。
- 问题中的代码不是导致问题的代码
- 你的诊断是有问题的,因为(大概(你没有注意堆栈中的行号