Чтение файлов
Чтение всего файла в строку одной строкой кода.
Сравнение кода
✕ Java 8
StringBuilder sb = new StringBuilder();
try (BufferedReader br =
new BufferedReader(
new FileReader("data.txt"))) {
String line;
while ((line = br.readLine()) != null)
sb.append(line).append("\n");
}
String content = sb.toString();
✓ Java 11+
String content =
Files.readString(Path.of("data.txt"));
Заметили проблему в этом коде? Сообщите нам.
Почему современный подход лучше
Одна строка
Замена 8 строк шаблонного кода BufferedReader.
Автоматическая очистка
Дескриптор файла закрывается автоматически.
UTF-8 по умолчанию
Правильная кодировка по умолчанию — никакой путаницы с кодировкой символов.
Старый подход
BufferedReader
Современный подход
Files.readString()
Начиная с JDK
11
Сложность
Начинающий
Поддержка JDK
Чтение файлов
Доступно
Доступно в JDK 11 (сент. 2018)
Как это работает
Files.readString() читает всё содержимое файла в строку. Автоматически обрабатывает кодировку (по умолчанию UTF-8) и очистку ресурсов. Для больших файлов предпочтительнее Files.lines() для ленивой потоковой обработки.
Связанная документация
Доказательство