10.4.4 BufferedInputStream/BufferedOutputStream类

更新于 2026年10月10日 版权声明
10.4.4 BufferedInputStream/BufferedOutputStream类

缓冲字节流(BufferedInputStream/BufferedOutputStream)是处理流,它们可以对其他流进行“装饰”,增加缓冲功能,提升读写性能。

创建BufferedInputStream时,会创建一个默认大小为8192字节的内部缓冲区,在执行BufferedInputStream的read()操作时,会从磁盘读入一组字节,将这组字节保存在内部缓冲区中,然后从内部缓冲区中逐个读取字节。这样就大大减少了磁盘操作,提高读取效率。

创建 BufferedOutputStream时,会创建一个默认大小为8192字节的内部缓冲区,在执行BufferedOutputStream的write()操作时,先将字节写入内部缓冲区而不是直接写到磁盘,当缓冲区被写满或者关闭流对象,整个缓冲区的数据将被写入磁盘。这样就大大减少了与磁盘的交互,提高了效率。

【例 10.9】下面通过程序对比FileInputStream/FileOutputStream与BufferedInputStream/BufferedOutputStream拷贝文件的效率。

图示

图示(https://www.daowen.com)

图示

图示

图示

图10.9 运行结果

运行结果如图10.9所示。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)