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

这个结果跟老师讲的有点对不上啊

老师是说BufferedOutputStream效率是最高的,但结果是利用BufferedOutputStream实现的copyFileByBuffer的操作时间是排第二的,最快的是声明了一个缓冲数组,配合FileOutputStream的方法是最快的,就7毫秒,这是为什么???感觉尚利用老师的理解这就是一滴一滴的滴到桶里然后再倒出去吗?

正在回答

4 回答

这个和文件的大小有关联吧,

0 回复 有任何疑惑可以回复我~
#1

小竹摇曳 提问者

跟大小没关系,进源码看一下,那个是线程安全的。
2017-08-27 回复 有任何疑惑可以回复我~

还在吗?

0 回复 有任何疑惑可以回复我~
#1

小竹摇曳 提问者

???
2016-09-08 回复 有任何疑惑可以回复我~

我后来咨询了老师,发现是因为BufferedOutputStream是线程安全的,所以速度也不能说很快。

0 回复 有任何疑惑可以回复我~
#1

慕雪2708375

我还测试了一下,使用BufferedOuteputStream按字节数组的方式进行拷贝,速度也比FileOutputStream的速度慢,这是为什么呢。 非缓存按字节进行拷贝耗时6925 非缓存按字节数组进行拷贝耗时26 缓存按字节数组进行拷贝耗时6567 缓存按字节数组进行拷贝耗时45
2016-09-01 回复 有任何疑惑可以回复我~
#2

小竹摇曳 提问者 回复 慕雪2708375

BufferedOuteputStream比FileOutputStream快,但是BufferedOuteputStream比带自定义缓冲数组的FileOutputStream慢。有点绕,但是得核对一下是这种情况吗?FileOutputStream不带缓冲应该不会比BufferedOuteputStream快吧。
2016-09-02 回复 有任何疑惑可以回复我~

有一个临界点的,对于小文件10M以下的文件体现不出优势,对于百兆文件正确使用

0 回复 有任何疑惑可以回复我~
#1

小竹摇曳 提问者

亲,真的吗,我拷贝了一个61.5M的文件试了一下,自定义缓冲数组的是697ms,BufferedOutputStream是141940ms,感觉时间上的差距反而更大了没有缩小啊。
2016-08-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这个结果跟老师讲的有点对不上啊

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