这里只是一个简单的实现:
此处要使用字节流InputStream和OutputStream操作,不能使用字符流操作(字符流主要操作文本)
package fileexercise;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class FileDemo {
public static void main(String[] args) throws IOException {
String src = "demo.png"; // 源文件的地址,本程序在项目根目录中
String dest = "D:" + File.separator + "sucess.png";// 目标地址和文件名
copyFile(src, dest);// 一个复制的方法
}
private static void copyFile(String src, String dest) throws IOException {
FileInputStream in = new FileInputStream(src);//先读取文件
OutputStream out = new FileOutputStream(dest);//将文件写出
byte data[] = new byte[1024];//声明每次读取的大小
int len = 0;//读取文件的字节的长度
//len为-1时,表示文件读取完毕
while ((len = in.read(data)) != -1) {
out.write(data, 0, len);
}
//最后需要关闭流文件,释放资源
out.close();
in.close();
}
}