Я просматривал часть документации по Java IO и просто хотел убедиться, что я прав:
Небуферизованные входные потоки: FileInputStream, InputStreamReader, FileReader
Небуферизованные выходные потоки: FileOutputStream, OutputStreamWriter, FileWriter
Буферизованные выходные потоки: PrintStream, PrintWriter
Кроме того, у нас есть потоки BufferedInputStream, BufferedOutputStream, BufferedReader и BufferedWriter для преобразования небуферизованных потоков в буферизованные версии.
Наконец, я заметил, что для потоков символов, а именно: InputStreamReader, FileReader, OutputStreamWriter, FileWriter, внутренний байтовый буфер поддерживаются для байтов, прежде чем они будут отправлены в поток. Этот байт-буфер не находится под нашим контролем. Следовательно, для потоков символов буферизация относится к высокоуровневому буферу символов для хранения символов, входящих и выходящих из программы.
Я все правильно сказал?
P.S. - Я понимаю, что эта проблема буферизации зависит от реализации, но я просто хочу подтвердить, что говорят javadocs.