论点和论据不符合吧?

来源:4-5 字节缓冲流

风铃飞弦

2017-01-06 16:27

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

写回答 关注

2回答

  • 头发多
    2017-01-29 21:22:26
    已采纳

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

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

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

    风铃飞弦

    时间长了,问题我又忘了,不过还是十分感谢

    2017-03-27 16:36:00

    共 1 条回复 >

  • 明天在那里
    2017-01-07 16:43:55

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

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

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133789 学习 · 1030 问题

查看课程

相似问题