java nio copy_使用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快速復(fù)制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) {
// ?
position += inChannel.transferTo(position, maxCount, outChannel);
}
} finally {
if (inChannel != null) {
// ?
inChannel.close();
}
if (outChannel != null) {
// ?
outChannel.close();
}
}
}
}
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的java nio copy_使用NIO快速复制Java文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 案例串接_Python基础
- 下一篇: java美元兑换,(Java实现) 美元