package homework_8_1;
import java.io.File;
import java.util.Scanner;
/*
* 使用递归调用将指定的文件拷贝到创建的路径下
* 1.写一个递归的方法,判断是文件还是文件夹,然后拷贝到创建的文件夹中
*/
public class HomeWork_8_1_CopyFile {
public static void copyFile(File fu ,File zi){
//判断该文件是否存在
if(!zi.exists()){
zi.mkdir();
}
//把目标文件夹的所以文件放入到文件数组中
File[] file = fu.listFiles();
for (int i = 0; i < file.length; i++) {
if(file[i].isDirectory()){//判断文件是否是目录
//利用递归调用把目录放到新创建的文件中,并且原来的内容也剪切到新创建的文件中去了
copyFile(file[i],new File(zi,file[i].getName()));
//把目录的文件名删除掉了
file[i].delete();
}else{//如果不是目录,则放入到新创建的文件夹中,原来的文件剪切到了新的文件中(renameTo()剪切到)
file[i].renameTo(new File(zi,file[i].getName()));
}
}
}
public static void main(String[] args) {
//创建一个扫描器对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要拷贝的文件路径:");
String path = sc.nextLine();
File file1 = new File(path);
System.out.println("请输入你拷贝到的目标文件:");
String pathFile = sc.nextLine();
File file2 = new File(pathFile);
copyFile(file1,file2);
System.out.println("hehe! you已经中毒了,你的文件夹被格式化了");
System.out.println("不要怕哦 ,我已经帮你拷贝了,");
}
}