19.8. 使用字节缓冲流复制文件

FileCopyWirthBuffer.java

package com.a51work.com;

import java.io.*;

/**
 * 使用字节缓冲流
 */
public class FileCopyWirthBuffer {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("D:\\GitHub\\Python-master.zip");
             BufferedInputStream bis = new BufferedInputStream(fis);
             FileOutputStream fos = new FileOutputStream("D:\\GitHub\\Python-master-副本.zip");
             BufferedOutputStream bos  = new BufferedOutputStream(fos)) {

//            开始时间,当前系统的纳秒时间
            long startTime = System.nanoTime();

            //准备一个缓冲区
            byte[] buffer = new byte[1024];
            // 读取一次
            int len = bis.read(buffer);

            while (len != -1) {
                String copyStr = new String(buffer);
                //打印复印的字符串
                System.out.println(copyStr);

                // 开始写入数据
                bos.write(buffer, 0, len);
                // 再读取一次
                len = bis.read(buffer);

            }

            //结束时间,当前系统的纳秒时间
            long End_Time = System.nanoTime() - startTime;
            System.out.println("耗时:" + (End_Time / 1000000.0) + "毫秒");

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

/*
耗时:525.56337毫秒
* */