使用BufferedReader和FileWriter追加行

时间:2018-01-09 14:37:17

标签: java append bufferedreader filewriter

我试图解析文件中的代码并将其复制到新创建的文件中并进行相关修改。

但是,在新文件中,显示的只是原始文件的最后一行。

如何确保将所有行复制到新文件中,而不仅仅是最后一行?

注意:我希望每次运行此程序时都会创建一个新文件,所以这个问题并不是关于FileWriter构造函数的' true'如下所示传入

FileWriter fw = new FileWriter(newFile.txt, true);

以下是相关的代码:

try (BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]));
        FileWriter fileWriter = new FileWriter(myNewFile.txt)) {

        while (bufferedReader.readLine() != null) {
            String currentLine = bufferedReader.readLine();
            fileWriter.write(currentLine);
        }

myNewFile.txt仅包含传递给BufferedReader的文件的最后一行文本。我不知道FileWriter类提供的任何追加函数。

由于

编辑(解决方案):

问题是由while循环中的currentLine初始化引起的。我把它改成了

String currentLine;
while ((currentLine = bufferedReader.readLine()) != null) {
    fileWriter.write(currentLine);
}

1 个答案:

答案 0 :(得分:0)

new FileWriter(myNewFile.txt, true)

启用追加模式