BufferedInputStream 比 InputStream快的原因(java)

版权声明:未经博主同意,禁止转载,联系方式qq2928013321 https://blog.csdn.net/weixin_42130471/article/details/82914013

InputStream:每次从硬盘读入一个字到中转站, 再写入目的文件(硬盘)

BufferStream:一次读入n个字节到输入换成区,接着经中转站一个个写入到输出缓冲区,输入缓冲区为空时再次从硬盘读入批量数据,同理输出缓冲区满了以后再批量写入到目的文件(硬盘)。

如此使用BufferedStream可以减少访问硬盘的次数,速度大幅提升。

总结:

1、

节点流:FileInputStream,FileOutputStream

处理流:BuffereInputStream,BufferOutputStream

2、处理流的好处:提高性能。

3、如何创建处理流:

BufferedInputStream bis=new BufferedInputStream(new FileInputStream(new File("e:/xxx.txt"));//文件名随便举例

BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(new File("e:/yyy.txt"));

4、关闭流:只要关闭高层流即可,底层流可以不关闭。(关闭高层流会关闭底层流)

5、何时将输出缓冲区的内容更新到文件中。(刷新flush())

      a、缓冲区慢的时候

      b、关闭流的时候

      c、调用flush()

猜你喜欢

转载自blog.csdn.net/weixin_42130471/article/details/82914013
今日推荐