import java.io.*;
/*
文件复制练习:一读一写
明确:
数据源:D:\QQ\SogouInput\SogouExe\SogouSvc.exe
数据的目的地:E:\SogouSvc.exe
文件复制的步骤:
1.创建字节缓冲输入流对象,构造方法中传递字节输入流
2.创建字节缓冲输出流对象,构造方法中传递字节输出流
3.使用字节缓冲输入流对象中的方法read,读取文件
4.使用字节缓冲输出流中的方法write,把读取的数据写入到内部缓冲区中
5.释放资源(会先把缓冲区中的数据,刷新到文件中)
*/
public class Demo02CopyFile {
public static void main(String[] args) throws IOException {
//赋值之前先获取毫秒值
long s = System.currentTimeMillis();
// 1.创建字节缓冲输入流对象,构造方法中传递字节输入流
//从这个地址复制文件
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\四史\\四史视频教程\\四史教育答题.mp4"));
//2.创建字节缓冲输出流对象,构造方法中传递字节输出流
//将文件复制到这个地址
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("E:\\四史教育答题.mp4"));
//3.使用字节缓冲输入流对象中的方法read,读取文件
//一次读取一个字节写入一个字节的方式
// int len = 0;
// while ((len = bis.read()) != -1) {
// bos.write(len);//6000
// }
//使用数组缓冲区读取多个字节,写入多个字节
//在我的笔记本使用数组的单个字节速度最快
byte[] bytes = new byte[1024];
int len = 0;
while ((len = bis.read(bytes)) != -1) {
//bos.write(len);//130
bos.write(bytes,0,len);//2311
}
bos.close();//先关读取的
bis.close();//再关源文件
long e = System.currentTimeMillis();
System.out.println("赋值文件共耗时:" + (e-s) + "毫秒");
}
}
IDEA-使用字符缓冲流做文件复制
最新推荐文章于 2022-10-02 16:46:46 发布