使缓冲区与Files.copy一样快

时间:2017-07-21 11:02:53

标签: java stream copy buffer

我对java中的Buffers有一些疑问 1.为什么Files.copy比使用Streams的普通大小缓冲区更快?
2.有没有办法像Files.copy那样快速获取缓冲区,还是有替代方案吗? 3.如果您有快速替代方法,我如何修改字节(如缓冲区)

1 个答案:

答案 0 :(得分:0)

Files.copy更快,因为它使用本机代码来执行复制,从而确保使用该平台的最快可能方式。使用常规流时,大多数代码都是非本机代码(FileStreams除外),因此无法利用该平台的任何可能的性能优势。

如果您想在传输过程中修改字节数,最好的方法是使用FileChannel并使用ByteBuffers