import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
//使用通道来复制文件
public class Test02 {
public static void main(String[] args) throws IOException {
//复制文件
//1.创建文件对象
//源文件
File file1 = new File(“F:\images\love.jpg”);
//目标文件
File file2 = new File("F:\\work-space\\Day_18\\src\\com\\Test01\\k.jpg");
//2.创建文件的输入输出流
FileInputStream in = new FileInputStream(file1);
FileOutputStream out = new FileOutputStream(file2);
//3.通道
FileChannel inchan = in.getChannel();
FileChannel outchan = out.getChannel();
//4.复制文件
ByteBuffer buffer = ByteBuffer.allocate(1024);
int len = 0;
while((len=inchan.read(buffer))!=-1) {
//切换模式
buffer.flip();
//读缓冲区数据,写入到文件中
outchan.write(buffer);
//清空
buffer.clear();
}
//关闭资源
outchan.close();
inchan.close();
out.close();
in.close();
}
}