java - 谁能解释一下BufferedInputStream的原理?

标签 java

当使用 BufferedOutputStream 时,我认为真正的输出不会发生,直到我们使用 flush? BufferedInputStream怎么样,有没有flush方法?

最佳答案

BufferedOutputStream 中的实际输出发生在内部缓冲区已满或刷新时。

BufferedInputStream 没有刷新,因为它没有意义。

它所做的是从底层流中将大块数据读入其内部缓冲区,这被认为调用起来很昂贵,然后在您请求时有效地为您提供这些数据的小块。一旦您读取了缓冲区数据,它就会自动从底层流中为您读取下一个缓冲区。因此,它的操作对您来说是完全透明的。

关于java - 谁能解释一下BufferedInputStream的原理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8835998/

相关文章:

java - 有没有办法通过套接字发送带有 DataOutputStream 的 Point 数组?

java - 在椭圆上画线

java - Hazelcast无法与SqlPredicate和可选字段上的索引一起正常使用

java - 在 iframe 内导航后无法再次获取 iframe

java - MQJE001 : Completion Code '2' , 原因 '2538'

java - 使用 ViewPager 在选项卡之间切换时,RecyclerView 一次自动滚动一项

Java 注释 - 是否有任何辅助库来读取/处理注释?

java - 尝试调用 Web 服务调用时访问被拒绝

java - 如何显示 ArrayList 中包含重复值的所有项目?

java - REST:如何发送 YAML 负载 (Java)