首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的缓冲流和非缓冲流

Java中的缓冲流和非缓冲流
EN

Stack Overflow用户
提问于 2012-10-18 01:14:50
回答 1查看 9K关注 0票数 13

我正在浏览一些关于Java的文档,只想确定是否正确:

非缓冲输入流:FileInputStream,InputStreamReader,FileReader

非缓冲输出流:FileOutputStream,OutputStreamWriter,FileWriter

缓冲输出流:PrintStream,PrintWriter

此外,我们还有BufferedInputStream、BufferedOutputStream、BufferedReader和BufferedWriter流,可以将未缓冲的流转换为缓冲的版本。

最后,我观察到,对于字符流,即。InputStreamReader,FileReader,OutputStreamWriter,FileWriter,在将字节发送到流之前,为字节维护内部字节缓冲区.这个字节缓冲区不受我们的控制。因此,对于字符流来说,缓冲是指高级字符缓冲区,用于存储进出程序的字符。

我说的都对吗?

-我知道这个缓冲问题在某种程度上取决于实现,但我只想确认javadocs在说什么。

EN

回答 1

Stack Overflow用户

发布于 2012-11-12 01:52:03

经验法则:

  1. 任何直接从外部源(FileInputStream、SocketInputStream等)读取的FileInputStream/ Reader。是“原始”的,被认为是未缓冲的。(尽管在现实中,可能存在一些缓冲,但这取决于实现)
  2. 任何“原始”InputStream或阅读器都可以由BufferedInputStream或BufferedReader缓冲。
  3. OuputStreams / Writers的相同假设。
  4. 其他流装饰器(即GZIPInputStream、MD5InputStream、YourSpecialObjectWriter)可能会做一些缓冲,但缓冲源并不是很有害。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12945736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档