为了账号安全,请及时绑定邮箱和手机立即绑定

关于几种Output方法效率问题

FileOutputStream、DataOutputStream、BufferedOutputStream

老师你说的是BufferedOutputStream效率最高,可是结果却是FileOutputStream的代码只花了7毫秒,是怎么回事儿呢?

正在回答

1 回答

引用woider所讲的:

使用缓冲字节流复制确实是最快的方式,但对于小文件10M以下的文件体现不出优势,对于百兆文件正确使用,时间可以控制到50ms内。视频中的缓冲字节流使用有错误,复制文件最快的做法是将批量读取到的字节数组使用缓冲写入到文件,在机器性能范围内字节数组越大越快。在循环写入的过程中不需要使用flush,就像cwt8805说的,缓冲输入流在关闭的时候会将所有缓冲区的数据全部写入文件,使用flush刷新缓冲就失去了缓冲的意义。最后关闭IO流和文件流应该在finally中关闭,否则IO异常时执行不到close语句,IO流仍然没有关闭。

4 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于几种Output方法效率问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信