package io;
import java.io.*;
/**
* @author 苗晓强
* @date 2023/8/5 17:51
* 使用缓冲流读写较大数据的非文本文件
*/
public class BufferedStream {
public static void main(String[] args) {
File srcFile = new File("miao.mp4");
File descFile = new File("miao_copy.mp4");
FileInputStream fileInputStream;
FileOutputStream fileOutputStream;
BufferedInputStream bufferedInputStream = null;
BufferedOutputStream bufferedOutputStream = null;
try {
fileInputStream = new FileInputStream(srcFile);
fileOutputStream = new FileOutputStream(descFile);
bufferedInputStream = new BufferedInputStream(fileInputStream);
bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
int len;
byte [] buffer = new byte[1024];
while ((len = bufferedInputStream.read(buffer)) != -1){
bufferedOutputStream.write(buffer,0,len);
bufferedOutputStream.flush();
}
System.out.println("复制成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bufferedOutputStream != null){
try {
bufferedOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (bufferedInputStream != null){
try {
bufferedInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}