package com.zq; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.channels.FileChannel; /** * 使用NIO对文件进行快速拷贝 */ public class FileCopy { public static void fileCopy( File in, File out )throws IOException { FileChannel inChannel = new FileInputStream( in ).getChannel(); FileChannel outChannel = new FileOutputStream( out ).getChannel(); try { int maxCount = (64 * 1024 * 1024) - (32 * 1024); long size = inChannel.size(); long position = 0; while ( position < size ) { position += inChannel.transferTo( position, maxCount, outChannel ); } } finally { if ( inChannel != null ) { inChannel.close(); } if ( outChannel != null ) { outChannel.close(); } } } public static void main(String[] args) { File in = new File("E:\\zq\\1.JPG"); File out = new File("E:\\zq.JPG"); try { FileCopy.fileCopy(in, out); } catch (IOException e) { e.printStackTrace(); } } }
最近下载更多