当前位置: 代码迷 >> 综合 >> FileOutputStream 与 BufferedOutputStream 的区别(FileOutputStream到底有没有缓冲区)
  详细解决方案

FileOutputStream 与 BufferedOutputStream 的区别(FileOutputStream到底有没有缓冲区)

热度:47   发布时间:2023-12-16 05:26:19.0

在这里插入图片描述
      FileOutputStream 文件输出流 ,无缓冲区,write一次,就往文件里面写一次数据,效率较低。

BufferedOutputStream 缓存输出流, 缓存区默认大小为8192byte,可通过构造函数定义。  write方法将数据写入缓存区中,缓存区满时写入文件。 flush方法将缓存区的数据写入文件。高效。

作者:shennyuan
来源:CSDN
原文:https://blog.csdn.net/shennyuan/article/details/76607278
版权声明:本文为博主原创文章,转载请附上博文链接!
作者:shennyuan
来源:CSDN
原文:https://blog.csdn.net/shennyuan/article/details/76607278
版权声明:本文为博主原创文章,转载请附上博文链接!
FileOutputStream中是没有缓冲区的,(使用网络字节流去输出数据的时候也没有),所以不需要使用flush方法数据也能写入.
在客户端向服务端输出数据时,我并没有使用flush(将缓冲区的数据刷新到要写入的文件)或者close方法刷新,但是数据仍然可以向服务端输出。
字符输出流是有缓冲区的,所以在写入数据时需要flush或者close(close方法中包含flush的刷新功能),跟缓冲流(Buffered)有关的字节输入输出流是有缓冲区的,跟Writer相关的流也是有缓冲区,缓冲区一般只有输出流才有,输入流是没有的,除了跟Buffered相关的输入流。