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("不要怕哦 ,我已经帮你拷贝了,");
	}
}
原文:http://www.cnblogs.com/wanglu1991/p/4579288.html