Буферизованные и небуферизованные потоки в Java

Я просматривал некоторую документацию по Java IO и просто хотел убедиться, правильно ли я это понимаю:

Небуферизованные входные потоки: FileInputStream, InputStreamReader, FileReader

Небуферизованные выходные потоки: FileOutputStream, OutputStreamWriter, FileWriter

Буферизованные выходные потоки: PrintStream, PrintWriter

Кроме того, у нас есть потоки BufferedInputStream, BufferedOutputStream, BufferedReader и BufferedWriter для преобразования небуферизованных потоков в буферизованные версии.

Наконец, я заметил, что для потоков персонажей, а именно. InputStreamReader, FileReader, OutputStreamWriter, FileWriter, внутренний байтовый буфер поддерживается для байтов до их отправки в поток. Этот байтовый буфер не находится под нашим контролем. Следовательно, для символьных потоков буферизация относится к высокоуровневому символьному буферу для хранения символов, входящих и выходящих из программы.

Все ли я сказал правильно?

Постскриптум - Я понимаю, что эта проблема буферизации в некоторой степени зависит от реализации, но я просто хочу подтвердить, что говорят Javadocs

Ответы на вопрос(1)

Ваш ответ на вопрос