[java基础] FileOutputStream 与 BufferedOutputStream 的区别

本文对比了FileOutputStream与BufferedOutputStream两种文件输出流的特点。前者无缓存区,每次write操作都会直接写入文件,效率较低;后者带有缓存区,默认大小8192byte,通过write方法将数据写入缓存区,缓存区满后才写入文件,提供了一个flush方法用于强制将缓存区数据写入文件,整体效率更高。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

 总结:

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值