BufferedReader (буферизованный ввод)
Коротко: Обёртка вокруг потока ввода, которая накапливает данные в промежуточном хранилище (буфере) и тем самым заметно ускоряет чтение, вместо обращения к исходному источнику (файл, сеть) за каждым символом.
Подробнее: Вместо того чтобы брать каждый символ по отдельности с диска или из сети (медленно, множество отдельных системных вызовов), буферизованный читатель сразу читает в память более крупные блоки и отдаёт из них символы или строки — часто с удобным методом чтения целой строки за раз. Аналог для записи — буферизованный вывод.
Подробности
BufferedReader reader = new BufferedReaСм. также: потоки ввода-вывода, BufferedWriter, чтение файлов