我正在浏览一些关于 Java IO 的文档,只是想确定我是否做对了:
无缓冲输入流:FileInputStream、InputStreamReader、FileReader
无缓冲输出流:FileOutputStream、OutputStreamWriter、FileWriter
缓冲输出流:PrintStream、PrintWriter
此外,我们还有 BufferedInputStream、BufferedOutputStream、BufferedReader 和 BufferedWriter 流来将非缓冲流转换为缓冲版本。
最后,我观察到对于字符流,即。InputStreamReader、FileReader、OutputStreamWriter、FileWriter,在将字节发送到流中之前,会为字节维护一个内部字节缓冲区。这个字节缓冲区不在我们的控制之下。因此,对于字符流,缓冲是指用于存储进出程序的字符的高级字符缓冲区。
我说的一切都正确吗?
PS - 我知道这个缓冲问题在某种程度上取决于实现,但我只想确认 javadocs 所说的