package com.itbuluoge.nio;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class GetChannel {

/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {

/*文件内容拷贝*/
FileChannel fca=new FileInputStream("D_Log5.16.rar").getChannel();
FileChannel fcb=new FileOutputStream("test.rar").getChannel();

ByteBuffer swap=ByteBuffer.allocate(1000);
int c=fca.read(swap);
while(c!=-1)
{
swap.flip();
/*写入到新文件*/
fcb.write(swap);
/*继续读入*/
swap.clear();
c=fca.read(swap);
}
}

}

从输出结果可以看到,内容已经一模一样拷贝过来了。效果还是很不错的。