下面代码采用两中方式进行文件的合并操作,结果发现FileChannel方式并不见得能够提高多少效率(可能是我测试代码的问题,先帖出来,再分析下,并请大家指正)。
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.FileChannel.MapMode;
public class Test_001 {
public static void main(String[] args) throws Exception {
File path = new File("/usr/test/");
// init(path, 1024 * 1024 * 5, 250);
// merager1(path); //70821 37209
init(path, 1024 * 1024 * 5, 250);
merager2(path); //37752
}
private static void merager1(File path) throws IOException {
File[] temp = path.listFiles();
File toFile = path.createTempFile("mearage1_", null, path);
long start = System.currentTimeMillis();
FileChannel toFileChannel = new RandomAccessFile(toFile, "rw").getChannel();
Fil