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

论点和论据不符合吧?

前面说缓冲流是用桶装水,理应最快,但从结果上看不应该是copyFile花的时间最短吗?而copyFile用的是byte数组

正在回答

2 回答

copyFileByBuffer这里是一个字节一个字节读的--->(c=bis.read())!=-1,并非批量,应将它与copyFileByByte的速度相比,是快的。

如果copyFileByBuffer使用字节数组读取--->(b=in.read(buf, 0, buf.length))!=-1,

那么会比同样使用字节数组批量读取的copyFile快。

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

风铃飞弦 提问者

时间长了,问题我又忘了,不过还是十分感谢
2017-03-27 回复 有任何疑惑可以回复我~

我个人认为复制文件最快的做法应该是批量读取到字节数组中然后使用缓冲输出流写入到文件。

并且在循环写入的过程中不要flush,要不然就失去了缓冲的意义,毕竟缓冲输出流在关闭的时候会将所有缓冲区中的数据全部写入文件。(注:flush()是防止在close之前有缓冲没有完全读完就被强行关闭了文件,在网络连接传输数据容易出问题。去掉缓冲循环的flush()速度会快很多)

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

举报

0/150
提交
取消

论点和论据不符合吧?

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