java 復(fù)制文件多種方法

Java 復(fù)制大文件方式(nio2 FileChannel 拷貝文件能力測試)
Java實現(xiàn)文件拷貝評測
JAVA Zero Copy

優(yōu)先選擇Path,MappedByteBuffer ,FileChannel,ByteBuffer

  • Files.copy(Path source, Path target, CopyOption... options)
  • FileChannel transferTo(long position, long count, WritableByteChannel target)
  • FileChannel transferFrom(ReadableByteChannel src, long position, long count)
  • MappedByteBuffer put(ByteBuffer src)

下圖只是為了看下復(fù)制效率,寫的有點亂

Paste_Image.png

總結(jié):

  • 使用Files.copy()和MappedByteBuffer處理的復(fù)制速度很快
  • 注意MappedByteBuffer map(MapMode mode, long position, long size)中size最大為Integer.MAX_VALUE,也就是2G ,超過2G的文件就要就不能一次復(fù)制完,可使用循環(huán)解決這個問題
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光劍書架上的書閱讀 4,186評論 2 8
  • java nio Java的IO體系:舊IO新IO:nio,用ByteBuffer和FileChannel讀寫ni...
    則不達閱讀 915評論 0 2
  • Java NIO(New IO)是從Java 1.4版本開始引入的一個新的IO API,可以替代標(biāo)準(zhǔn)的Java I...
    JackChen1024閱讀 7,947評論 1 143
  • 簡書 占小狼轉(zhuǎn)載請注明原創(chuàng)出處,謝謝! 前言 java io操作中通常采用BufferedReader,Buffe...
    美團Java閱讀 69,875評論 19 156
  • 他三人將三個果各各受用。那八戒食腸大,口又大,一則是聽見童子吃時,便覺饞蟲拱動,卻才見了果子,拿過來,張開口,骨碌...
    chi樂22閱讀 553評論 0 0

友情鏈接更多精彩內(nèi)容