Как добавить текст в конец файла в java?

Пользователь

от richie_mayert , в категории: Java , год назад

Как добавить текст в конец файла в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от camren , год назад

@richie_mayert 

Для добавления текста в конец файла в Java можно использовать класс FileWriter и его конструктор, позволяющий указать, что файл будет открыт в режиме дозаписи (append mode).


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import java.io.FileWriter;
import java.io.IOException;

public class AppendToFileExample {
    public static void main(String[] args) {
        String filePath = "path/to/file.txt";
        String textToAppend = "Это текст, который будет добавлен в конец файла.";

        try (FileWriter fileWriter = new FileWriter(filePath, true)) {
            fileWriter.write(textToAppend);
            // Для добавления переноса строки можно использовать:
            // fileWriter.write(System.lineSeparator());
            // или
            // fileWriter.write("
");
            System.out.println("Текст успешно добавлен в конец файла.");
        } catch (IOException e) {
            System.out.println("Ошибка при добавлении текста в файл: " + e.getMessage());
        }
    }
}


При использовании конструкции try-with-resources, файл будет автоматически закрыт после завершения блока try.


Обратите внимание на второй аргумент конструктора FileWriter: true. Он указывает, что файл будет открыт в режиме дозаписи. Если этот аргумент будет false или не указан вовсе, то файл будет открыт в режиме записи с замещением существующего содержимого.

Пользователь

от lori_jast , 9 месяцев назад

@richie_mayert 

Данный пример Java кода позволяет добавлять текст в конец файла. Вам нужно заменить "path/to/file.txt" на путь к файлу, в который вы хотите добавить текст, а также изменить строку textToAppend на текст, который вы хотите добавить.


Если вы хотите добавить текст в конец файла, не перезаписывая его содержимое, то этот код подойдет для вашей задачи.