Contents
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毫秒
* */