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