Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

BufferedReader

Читает текст построчно с буферизацией — классический способ обработки больших файлов.

Доступно с: Java 1.1

Синтаксис

public class BufferedReader extends Reader

Примеры

Чтение файла построчно через readLine():

void main() throws IOException {
    Path file = Path.of("todo.txt");
    Files.writeString(file, "wash dishes\nwrite report\n");
 
    try (BufferedReader reader = Files.newBufferedReader(file)) {
        String line;
        while ((line = reader.readLine()) != null) {
            IO.println("- " + line);
        }
    }
    Files.delete(file);
}

Результат:

- wash dishes
- write report

Запись через BufferedWriter:

void main() throws IOException {
    Path file = Path.of("out.txt");
    try (BufferedWriter writer = Files.newBufferedWriter(file)) {
        writer.write("line 1");
        writer.newLine();
        writer.write("line 2");
    }
    IO.println(Files.readAllLines(file));
    Files.delete(file);
}

Результат:

[line 1, line 2]

Примечания

readLine() возвращает null, когда файл закончился. Создавайте читатель через Files.newBufferedReader(path) — он использует UTF-8. Конструкция new BufferedReader(new FileReader(...)) из старых учебников до Java 18 брала кодировку системы. Для простых задач короче Files.readAllLines() или Files.lines().

См. также

  • Files.lines() — Читает файл лениво — как поток строк, не загружая его в память целиком.
  • Scanner — Читает ввод по частям: строки целиком (nextLine) или отдельные слова и числа.
  • Files.readAllLines() — Читает текстовый файл в список строк.
  • try / catch / finally — Перехватывает исключения; finally выполняется всегда, а try с ресурсами сам их закрывает.

Вопросы и ответы по теме

В учебнике

  • Чтение и запись файлов — Чтение и запись текстовых файлов в Java — Files.writeString, readString, readAllLines, write, дозапись в конец, Files.lines и буферизованные потоки.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.