我对java中的Buffers有一些疑问
1.为什么Files.copy比使用Streams的普通大小缓冲区更快?
2.有没有办法像Files.copy那样快速获取缓冲区,还是有替代方案吗?
3.如果您有快速替代方法,我如何修改字节(如缓冲区)
答案 0 :(得分:0)
Files.copy
更快,因为它使用本机代码来执行复制,从而确保使用该平台的最快可能方式。使用常规流时,大多数代码都是非本机代码(FileStreams除外),因此无法利用该平台的任何可能的性能优势。
如果您想在传输过程中修改字节数,最好的方法是使用FileChannel并使用ByteBuffers
。