java中用IO流实现指定文件的复制
用IO流来实现将一个任意格式的文件拷贝到另一个指定的文件夹中。本文是将C:\Users\郑航\Pictures\Saved Pictures\image.jpg中的图片,拷贝到E:\java\zh.jpg中。(本人的所有文章仅作为学习记录,如有不对恳请指正)。
下面展示一些 代码
。
package com.company.java.io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class copy2 {
public static void main(String[] args) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
//创建一个输入流
fis = new FileInputStream("C:\\Users\\郑航\\Pictures\\Camera Roll\\my.jpg");
//创建一个输出流
fos = new FileOutputStream("E:\\java\\img.jpg");
//创建一个byte数组最多存储1MB的内容(每次拷贝1M文件)可根据文件大小和需求来改变
byte[] bytes = new byte[1024 * 1024];
int readCount = 0;
//边读边写,读完1MB的字节后,先写入硬盘中再次重复此操作。
// 直到读不到字节,read方法返回-1,整个过程结束
while ((readCount = fis.read(bytes)) != -1){
//每次写入的字节数和读到的相同
fos.write(bytes,0,readCount);
}
//输出流最后要刷新
fos.close();
//下面为异常处理不做说明
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally{
if (fis != null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}