java - NullPointerException 和 BufferedReader

标签 java nullpointerexception bufferedreader readline

我的程序不断向我抛出 nullPointerException,但我不知道为什么。我想也许是因为 bufferedReader 但我不确定。

String line = reader.readLine();
while (!line.isEmpty()) {
    line = repairLine(line);
    tree.add(line);
    line = reader.readLine();
}

是的,它被包裹在 try - catch block 中。它说问题出在 while 线上。它不适用于“if (line != null)”。我真的不知道是什么原因造成的。感谢您的帮助。

最佳答案

问题似乎出在以下代码行上:

String line = reader.readLine();
while (!line.isEmpty()) {   

}

如果没有从文件中读取任何内容,则该行将为空。因此 while 循环中出现异常。您正在尝试调用空引用上的方法。

话虽这么说,从文件读取行的传统方法是将读取的行分配给 while 条件本身的变量(代码未测试):

String line = "";
while ((line=reader.readLine()!=null) && !line.isEmpty()) {
    line = repairLine(line);
    tree.add(line);
}

关于java - NullPointerException 和 BufferedReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29035681/

相关文章:

java - FrameGrabber 空指针异常

java - getAction( ) 或 Intent 上的 NullPointerException

java - 如何可信地分发java桌面应用程序?

java - 如何从字符串数组中删除前几项?

java - 将 servlet 响应的响应传递回先前的 jsp 页面

Android:从网站而不是通过其源代码提取信息

java - 使用Buffered Reader和Writer删除文本文件中的空行;但我总是把最后一行留空

java - java中如何返回特定代码行

java - 数组空指针异常错误

java - 为什么我的 BufferedReader 代码会泄漏内存?