package cn.com;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
//复制多级文件夹
public class Test18复写 {
public static void main(String[] args) throws Exception {
File orig = new File("E:/workspace/黑马面试题");
File dest = new File("D:/我操真难");
copy(orig, dest);//传参
}
//orig: 源文件 dest: 目的地
public static void copy(File orig, File dest) throws Exception {
if (orig.exists()) {//判断 源文件是否存在
System.out.println("傻孩子,源文件不存在!!!");
}
if (!dest.exists()) {//判断目的地根目录是否存在
dest.mkdir();
}
if (!dest.isDirectory()) {//判断 是不是文件夹
dest.mkdir();
}
File[] files = orig.listFiles();//遍历源文件
for (File file : files) {
if (file.isDirectory()) {//判断 是文件夹 就递归
copy(file, new File(dest, file.getName()));
} else {//否则 复制
BufferedReader br = new BufferedReader(new FileReader(file));
BufferedWriter bw = new BufferedWriter(new FileWriter(new File(
dest, file.getName())));
while (true) {
String line = br.readLine();
if (line == null) {
break;
}
bw.write(line);
bw.newLine();
}
bw.flush();
br.close();
bw.close();
System.out.println(file.getName() + ":复制完成");
}
}
}
}
|
|