Добавление строк с помощью 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.

Спасибо

РЕДАКТИРОВАТЬ (РЕШЕНИЕ):

Проблема возникла из-за инициализации currentLine в цикле while. я изменил его на

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

person CodeNovice    schedule 09.01.2018    source источник
comment
Сколько строк в вашем исходном файле? Вы можете предпочесть использовать метод append(), унаследованный Writer.   -  person LppEdd    schedule 09.01.2018
comment
Вопросы, требующие помощи в отладке (почему этот код не работает?), должны включать желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для их воспроизведения, в самом вопросе. Вопросы без четкой формулировки проблемы бесполезны для других читателей. См. Как создать минимально воспроизводимый пример. Используйте ссылку редактировать, чтобы улучшить свой вопрос — не добавляйте дополнительную информацию через комментарии. Спасибо!   -  person GhostCat    schedule 09.01.2018
comment
Вы не предоставляете все соответствующие фрагменты кода. Например, не очевидно, если вы когда-нибудь закроете () свой писатель. Кроме того: такие вопросы возникают почти ежедневно. Вы провели какое-то исследование и изучили все вопросы, объясняющие, как использовать средство записи файлов и как создавать модифицированные копии текстовых файлов?   -  person GhostCat    schedule 09.01.2018
comment
@GhostCat Спасибо, что вернулись. Я считаю, что вся информация, которую вы запрашиваете, включена. Я не закрываю модуль записи, потому что он находится в блоке попытки использования ресурсов. Я ценю обратную связь, но я думаю, что ясно изложил, в чем заключается моя проблема (хотя я немного отредактировал исходный вопрос, чтобы он был более конкретным)   -  person CodeNovice    schedule 09.01.2018


Ответы (1)


new FileWriter(myNewFile.txt, true)

Это включает режим добавления

person S-Wing    schedule 09.01.2018