文件拷贝
- 使用
FileInputStream +FileOutputStream
完成文件的拷贝 - 拷贝的过程应该是一边读,一边写
- 使用以上字节流拷贝文件时,文件类型随意,万能的。什么样的文件都能拷贝
表示如下图:
实现代码
package Filecopy01;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/*
* 使用FileInputStream +FileOutputStream完成文件的拷贝
* 拷贝的过程应该是一边读,一边写
* 使用以上字节流拷贝文件时,文件类型随意,万能的
* */
public class Copy01 {
public static void main(String[] args) {
FileInputStream fis=null;
FileOutputStream fos=null;
try {
fis=new FileInputStream("D:\\01.png");
fos=new FileOutputStream("E:\\02.png");
//最核心的:一边读,一边写
byte[]bytes=new byte[1024*1024];//(一次拷贝1MB)
int readCount=0;
while((readCount=fis.read(bytes))!=-1){
fos.write(bytes,0,readCount);
}
//刷新,输出流要刷新
fos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
//分开try,不能一起try
//一起try的时候,其中一个 出现异常,可能会影响另一个流的关闭
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
再次强调
- 使用以上字节流拷贝文件时,文件类型随意,万能的。什么样的文件都能拷贝
运行截图
运行前
运行后
大小一模一样 ,也可以换成视频这些来拷贝