java - 空指针异常逐行读取文件

标签 java io nullpointerexception

txt 文件,我正在逐行读入我的程序。我的目标是显示此文本,不带标点符号且全部小写。到目前为止,我可以使用下面的代码以这种方式显示此文本,但是我在“while”表达式的最后一行不断收到空指针异常的运行时错误,并且我不确定我的错误在哪里。我相信问题可能出在我的 boolean while 表达式中,我尝试将输入 != null 更改为 reader.readLine() != null 但没有成功。谢谢!

import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;

public class BinaryTree {

    public static void main(String[] args) {

        String inputFile = "pg345.txt";
        FileReader fileReader = null;

        try {
            fileReader = new FileReader(inputFile);
        }   catch (FileNotFoundException e) {
                e.printStackTrace();
        }

        BufferedReader reader = new BufferedReader(fileReader);
        String input;

        try {
            input = reader.readLine().toLowerCase().replaceAll("[^a-zA-Z ]", "").toLowerCase();
            System.out.println(input);
            while (input != null) {


                input = reader.readLine().toLowerCase().replaceAll("[^a-zA-Z ]", "").toLowerCase();
                System.out.println(input);
            }


        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        try {
            fileReader.close();
        }   catch (IOException e) {
            e.printStackTrace();
        }





    }


}

最佳答案

你的罪魁祸首是

reader.readLine().toLowerCase().replaceAll("[^a-zA-Z ]", "").toLowerCase()
reader.readLine().toLowerCase().replaceAll("[^a-zA-Z ]", "").toLowerCase();

这里是调用

reader.readLine()

如果文件中没有更多行,可能会返回 null。

关于java - 空指针异常逐行读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27238244/

相关文章:

java - 密码字母表的自定义数组洗牌中的重复项

objective-c - 向 ViewController 辅助 UIView 添加约束

java - 在 java 中,如何将 java.awt.image.BufferedImage 写入 8 位 png 文件?

hadoop - Hadoop在减少步骤java.lang.NullPointerException时崩溃

java - 解释 Java 原生通信性能

java - 使用 SafeHtml 进行 anchor

java - 当我使用 findViewById 时,将 R.id.[value] 中的 int 作为类构造函数参数传递给 NPE

Android StartActivity(Intent) -> NullPointerException(与onclicklistener有关)

java - 哪种列表实现最适合从前面和后面删除和插入?

java - 区分 GZIP 和非 GZIP 格式不起作用