复制文件夹到指定文件夹
程序员文章站
2022-03-12 09:36:55
...
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopy {
public void copy(String fristPath, String secondPath) {
File file1 = new File(fristPath);// 实例化File
File file2 = new File(secondPath);
file2.mkdirs();// 创建URl2的路径
File[] arrF = file1.listFiles();// file1里的所有文件及文件夹放在File数组
if (arrF != null) {// 如果这个集合不是空的
for (int j = 0; j < arrF.length; j++) {// 那么遍历里面的东西
if (arrF[j].isDirectory()) {// 如果其中的一个元素是文件夹
copy(fristPath + "/" + arrF[j].getName(), secondPath// 那么用递归继续
+ "/" + arrF[j].getName());
} else {// 如果不是
try {
FileInputStream fis = new FileInputStream(fristPath // 实例化字节输入流
+ "/" + arrF[j].getName());
FileOutputStream fos = new FileOutputStream(// 实例化字节输出流
secondPath + "/" + arrF[j].getName());
byte[] b = new byte[1024];// 搞一个缓冲
int len = 0;// 放长度
while ((len = fis.read(b)) != -1) {
fos.write(b, 0, len);// 有多少就读多少
}
fos.flush();// 刷新
fos.close();// 关闭
fis.close();
} catch (FileNotFoundException e) {
System.out.println("找不到指定文件");
} catch (IOException e) {
System.out.println("文件内容无法读取");
}
}
}
System.out.println("文件夹复制完毕");
}
}
public static void main(String[] args) {
FileCopy fc = new FileCopy();
String url1 = "F:/Test";//声明需要复制的文件夹路径
String url2 = "F:/mm";//复制目的地的文件夹路径
fc.copy(url1, url2);//调用copy方法
}
}