Java学习笔记(四)

Java复制文件的方法:
1、运用普通的缓冲输入输出流来复制(也就是老师上课所讲的方法)。
测试结果如下:

2、运用文件通道的方式来进行复制(我改进的方法)。
文件通道:首先要得到两个对应的文件通道,然后连接两个通道,从in通道读取,写入out通道,此方法可高效率的复制文件,节省时间。
代码如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;

public class COPY {

/**
 * @param args
 */
  public static void fileChannelCopy(File s, File t) {
        try {
        	FileInputStream fis = new FileInputStream (s);
			FileOutputStream fos = new FileOutputStream (t);
			FileChannel in = fis.getChannel();//得到对应的文件通道
			FileChannel out = fos.getChannel();//得到对应的文件通道
            in.transferTo(0, in.size(), out);//连接两个通道,并且从in通道读取,然后写入out通道
            
            fis.close();
			fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        } 
    }
public static void main(String[] args) {
	File s = new File("a.mp3");
	File t = new File("temp.jpg");
    long start,end;
    start = System.currentTimeMillis();
    fileChannelCopy(s,t);
    end = System.currentTimeMillis();
    System.out.println("用时" + (end - start) + "ms");

}
}
测试结果如下:

原文地址:https://www.cnblogs.com/mijx/p/5350374.html