Запись файлов
Запись строки в файл одной строкой кода.
Сравнение кода
✕ Java 8
try (FileWriter fw =
new FileWriter("out.txt");
BufferedWriter bw =
new BufferedWriter(fw)) {
bw.write(content);
}
✓ Java 11+
Files.writeString(
Path.of("out.txt"),
content
);
Заметили проблему в этом коде? Сообщите нам.
Почему современный подход лучше
Одна строка
Не нужна обёртка Writer или try-with-resources.
Безопасные значения по умолчанию
Кодировка UTF-8, корректное закрытие дескриптора файла.
Опции
Флаги OpenOption для добавления содержимого, создания файла и т.д.
Старый подход
FileWriter + BufferedWriter
Современный подход
Files.writeString()
Начиная с JDK
11
Сложность
Начинающий
Поддержка JDK
Запись файлов
Доступно
Доступно в JDK 11 (сент. 2018)
Как это работает
Files.writeString() записывает содержимое в файл с кодировкой UTF-8 по умолчанию. Для добавления содержимого, создания файла и т.п. можно передавать опции.
Связанная документация
Доказательство