欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 将源目录的所有文件(含子目录)拷贝到 目标目录中(运用File类实现)

程序员文章站 2022-03-04 14:24:27
...
package work;

import java.io.File;

import yztc.lin.utils.FileUtils;

public class Main {

	public static void main(String[] args) {

		File scrDir = new File("C:/Java");
		File destDir = new File("C:/目标");

		copyDiretory(scrDir, destDir);
	}

	/**
	 * 将源目录的所有文件(含子目录)拷贝到 目标目录中。
	 * 
	 * @param srcDir
	 *            源目录
	 * @param destDir
	 *            目标目录
	 */
	public static void copyDiretory(File srcDir, File destDir) {
		File[] listFiles = srcDir.listFiles();
		if (listFiles == null) {
			return;
		}
		for (File file : listFiles) {
			File srcFile = file;
			File destFile = new File(destDir, file.getName());// 得到目标文件的路径描述
			if (file.isDirectory()) {
				System.out.println("正在创建目录:" + destFile);
				// 在 destDir 创建对应的目标目录
				destFile.mkdirs();
				// 递归
				copyDiretory(srcFile, destFile);//将源子目录 和 目标子目录进行复制
			} else {
				// 复制文件
				System.out.println("正在copy文件:从" + srcFile + "到" + destFile);
				FileUtils.copyFile(srcFile, destFile);// 复制文件
			}
		}
	}

}