Java学习笔记——通过通道复制文件transferTo

通过通道来实现文件的复制操作,具体实现代码如下:

import static java.nio.file.StandardOpenOption.*;
import java.nio.file.*;
import java.nio.channels.*;
import java.io.IOException;
import java.util.EnumSet;

public class FileBackup {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自动生成方法存根
		Path file = Paths.get(System.getProperty("user.home")).resolve(
				"Beginning Java Stuff").resolve("Sayings.txt");
		if (!Files.exists(file)) {
			System.err.println(file + " is not exist.");
			System.exit(1);
		}
		file.toAbsolutePath();//将路径转化为绝对路径,如果已经是绝对路径则原样返回
		Path tofile= createBackupFilePath(file);//创建复制文件路径
		try{
			FileChannel inCh=(FileChannel)(Files.newByteChannel(file));//filechannel具有更高的功能
			WritableByteChannel outCh=Files.newByteChannel(tofile,EnumSet.of(WRITE,CREATE));//新建写入文件通道
			int byteWritten=0;
			long byteCount=inCh.size();
			while(byteWritten
实现结果如下:




你可能感兴趣的:(Java学习笔记)