java - 分析从 Java 文件中读取的文本

标签 java arrays file console ioexception

我正在编写一个程序,用于分析输入的文本并计算平均字母数。 当用户输入文本时,我可以让它工作,但当从文件中读取文本时,我无法让它工作。

public static void ReadFromFile() throws IOException  {
String filename = "name.txt";
String str = new String(new char[100]);
try{
    FileReader fr = new FileReader(filename);
    BufferedReader br = new BufferedReader(fr);

    while ((str = br.readLine()) !=null) {
    System.out.println(str + "\n");
    }
    br.close();
    } catch(IOException e) {
        System.out.println("File not found");
    }
while (c != str.length()) {
    if (str.charAt(c) >= 'a' && str.charAt(c) <= 'z') {
        count[str.charAt(c) - 'a']++;   
    }
    c++;
}
for (c = 0; c<26;c++){
    if (count[c] !=0){
        double num = count[c];
        double denom = str.length();
        double average = num / denom;
        System.out.print((char) (c + 'a') + " occurs " + count[c] + " times in the entered string. Average is ");
        System.out.println(average);
    }}}}

我不断收到错误消息

Exception in thread "main" java.lang.NullPointerException
at MainMenu.ReadFromFile(MainMenu.java:79)
at MainMenu.main(MainMenu.java:25)

任何帮助将不胜感激 谢谢

最佳答案

您正在逐行读取整个文件并将其打印到 System.out

完成后,您尝试处理数据,但您已经完成了文件的读取,因此 str 为“null”,并且您的程序终止了。

关于java - 分析从 Java 文件中读取的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29288059/

相关文章:

java - 关闭读写器的异常处理

ios - 动态地将字典中的多个数组打印为单独的字符串?

c++ - 对数组和单个数据点使用指针之间的区别?

javascript - 循环 JavaScript 数组并排除数组本身

c++ - 在文本文件中一起打印 hex 和 int

java - 如何在windows下更改Maven的M2_REPO

java - 检查 null 时惯用的 Kotlin

java - 找不到符号方法错误

java - 从子类访问时类型删除和继承 : An object of List<Number> , 被视为原始列表?

git - 如何让 VSCode 强制重新加载已更改的文件?