使用NIO快速复制Java文件

Posted IT工程师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用NIO快速复制Java文件相关的知识,希望对你有一定的参考价值。

package com.test.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;

/**
* 使用NIO快速复制Java文件
*
* @author Administrator
*
*/
public class FileCopy {

@SuppressWarnings("resource")
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) {
// &nbsp;
position += inChannel.transferTo(position, maxCount, outChannel);
}
} finally {
if (inChannel != null) {
// &nbsp;
inChannel.close();
}
if (outChannel != null) {
// &nbsp;
outChannel.close();
}
}
}
}




































以上是关于使用NIO快速复制Java文件的主要内容,如果未能解决你的问题,请参考以下文章

java----使用NIO进行快速的文件拷贝

如何在android中使用java.nio.file包? [复制]

Java NIO 利用通道完成文件复制(MappedByteBuffer)

java nio实现文件复制

Java NIO 之 复制文件 案例

Java NIO 实现文件复制