import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopy {
public static void main(String[] args) {
//完成文件拷贝,将图片拷贝到指定位置
//1.创建文件的输入流,将文件读入到程序
//2.创建文件的输出路,将文件读取到的文件数据写入到指定文件\
String srcFilePath = "d:\\flag.jpg";//要读取的文件路径
String destFilePath = "e:\\flag.jpg";//拷贝到的位置及名称
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
try {
fileInputStream = new FileInputStream(srcFilePath);
fileOutputStream = new FileOutputStream(destFilePath);
//定义一个字节数组,提高读取效率
byte[] buf = new byte[1024];
int readLen = 0;//返回实际读取的字节数
while ((readLen = fileInputStream.read(buf)) != -1){ //把文件读入到buf数组里面
//读取到后,就写入到文件 通过 fileOutputStream
//即,是一边读,一边写
//fileOutputStream.write(buf);//错误! 因为最后有可能一次读不够所有的数据。例如最后只读了1个字节,结果却写入了1024个数据
fileOutputStream.write(buf,0,readLen);//一定要使用这个方法
}
System.out.println("拷贝ok");
} catch (IOException e) {
e.printStackTrace();
} finally {
//关闭输入流和输出流,释放资源
if (fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fileOutputStream != null) {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
FileInputStream与FileOutputStream完成文件拷贝
于 2023-11-25 16:48:23 首次发布