[java基础] FileOutputStream 与 BufferedOutputStream 的区别

 

  FileOutputStream BufferedOutputStream
是否含有缓存区 有,默认缓存区大小为8192byte,可通过构造函数自定义缓存区大小
flush方法 继承OutputStream类的flush方法,该类flush方法为空。 有flush方法,flush方法调用OutputStream类的write方法,将缓存区中的数据写入文件
write方法 write一次写入文件一次 writre方法将数据写入缓冲区,缓冲区满时将数据写入文件。
效率 低效,消耗资源 高效

 总结:

      FileOutputStream 文件输出流 ,无缓冲区,write一次,就往文件里面写一次数据,效率较低。

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

你可能感兴趣的:(java)