Java 使用NIO进行快速的文件拷贝的代码

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
public static void fileCopy( File in, File out ) throws IOException 
{ 
    FileChannel inChannel = new FileInputStream( in ).getChannel(); 
    FileChannel outChannel = new FileOutputStream( out ).getChannel(); 
    try
    { 
        inChannel.transferTo(0, inChannel.size(), outChannel);      
    // original -- apparently has trouble copying large files on Windows 
        // magic number for Windows, 64Mb - 32Kb) 
    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(); 
    } 
    } 
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:javaWEB文件上传与下载

下一篇:jsp servlet实现文件上传