java - 仅将最后一行打印到文本文件,而不是 java 中的其余行

标签 java text-files

我正在尝试将文件打印到文本文件。虽然我设法让它工作,但它只打印出控制台上打印的最后一行。例如。我的控制台有大约 8000 行,但它只打印出文本文件中的最后一行,我想将所有行打印到文本文件中。 这是代码:

       try {
        BufferedReader reader = new BufferedReader(new FileReader("JDT.txt"));
        Writer output = null;
        File file = new File("output.txt");
        output = new BufferedWriter(new FileWriter(file));


        String line = reader.readLine();
        int count=0;
        while(line !=null)
        {
            for(int i = 0 ; i<faults.length;i++){
                if(line.contains(faults[i]))
                    System.out.println(line);
                count++; 
                output.write(line +"Total: "+count);
                //System.out.println("File Written");
        }
            line=reader.readLine();
            }                  
        System.out.println("Printed Lines =" +count); 
                   output.close();     
        }
    catch (Exception ex) {
        System.out.println(ex.getMessage());
        }       
}
    }

先谢谢你。

最佳答案

您正在重新创建并在每个循环中覆盖您的文件。在循环之前创建文件和 BufferedWriter,并在循环完成后将其关闭。

关于java - 仅将最后一行打印到文本文件,而不是 java 中的其余行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15010692/

相关文章:

java - NoClassDefFound错误: org/aspectj/lang/Sign

java - HashMap 是正确的数据结构吗

java - 将当前数组索引分配给变量以递增它?

text-files - 文本文件和二进制文件的区别

flutter - 未在 flutter 中创建文本文件

java - 使用 TITAN DB 手动安装 gremlin 服务器

Java 模式多行

java - 谁能帮我使用 StartingClass 中的 loadMap() 方法加载 map (文本文件)?

python - 导入不规则大小的文本文件

c - 在C中滚动文本文件