public static void main(String[] args) throws IOException {
String s = "F:\\学习资料\\练习题";
String s1 = "E:\\复制文件";
File f = new File(s);
File f1 = new File(s1);
menth(f, f1);
}
public static void menth(File a, File b) throws IOException {
File[] files = a.listFiles();
for (File file : files) {
if (file.isFile()) {
FileInputStream fi = new FileInputStream(file);
String s = file.getName();
File f = new File(b, s);
FileOutputStream fo = new FileOutputStream(f);
byte[] arr = new byte[1024];
int a1;
while ((a1 = fi.read(arr)) != -1) {
fo.write(arr, 0, a1);
}
fo.close();
fi.close();
} else if (file.isDirectory()) {
String s = file.getName();
File f = new File(b, s);
f.mkdirs();
menth(file, f);
}
}
}
}有点烧脑作者: DreamBoyMrsLin 时间: 2017-4-17 00:36
给力 顶一个作者: 冷丨欢 时间: 2017-4-17 01:44
一脸懵逼 作者: IceLoveInFire丶 时间: 2017-4-17 06:59
你试试多级删除。稍微有难度一些些 作者: lvshen9 时间: 2017-4-17 07:26
谢谢分享 作者: 丿UNDY 时间: 2017-4-17 08:34
看出两个问题 :
1.如果目录不存在,没有进行判断。
2.如果是 复制的是同名目录,可能出现 无线复制的问题。
另外 为了通用性,最好不要将 起始的目录写死。作者: 烟雨清寒时 时间: 2017-4-17 09:19
这个不是递归嘛 作者: 郝永 时间: 2017-4-18 21:39