Java中复制文件并计算用时多长时间

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Test {
    /*
         需求 : 把 "图片路径\xxx.jpg" 复制到当前模块下

        分析:
            复制文件,其实就把文件的内容从一个文件中读取出来(数据源),然后写入到另一个文件中(目的地)
            数据源:
                xxx.jpg  --- 读数据 --- FileInputStream
            目的地:
                模块名称\copy.jpg --- 写数据 --- FileOutputStream

        数据源 : "F:\java进阶版资料\liqin.jpg"
        目的地 : "day10_demo\copy.jpg"
     */
    public class FileInputStreamDemo2 {
        public static void main(String[] args) throws IOException {
            long beginTime = System.currentTimeMillis();//开始时间
            copyFile();
            long endTime = System.currentTimeMillis();//结束时间
            System.out.println("拷贝文件花费了:" + (endTime - beginTime) + "毫秒");
        }

        //选择要抽取出来的代码,使用快捷键:alt + ctrl + m      可以把代码抽取到另一个文件中

        private static void copyFile() throws IOException {
            //源文件
            File src = new File("F:\\files\\ABC.jpg");
            //目标文件
            File dest = new File("day10_demo/files/copy.jpg");

            //创建字节输入流,并关联源文件(从源文件中读取字节数据)
            FileInputStream fis = new FileInputStream(src);
            //创建字节输出流,并关联目标文件(向目标文件中写入字节数据)
            FileOutputStream fos = new FileOutputStream(dest);

            //文件复制: 使用循环,从源文件读取数据,写入到目标文件中
            int data = -1;
            while ((data = fis.read()) != -1) {
                //使用输出流向目标文件中写入读取到的字节数据
                fos.write(data);
            }

            //释放资源
            fis.close();
            fos.close();
        }
    }
}

你可能感兴趣的:(java)