要复制带有整个子目录和文件的目录,我们可以使用Apache Commons IO提供的便捷方法FileUtils.copyDirectory()。此方法接受两个参数,源目录和目标目录。源目录应该存在,而如果目标目录不存在,则会创建源目录。
package org.nhooo.example.commons.io;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class DirectoryCopy {
public static void main(String[] args) {
// 要复制的现有目录。
String source = "C:/Demo/source";
File srcDir = new File(source);
//要复制到的目标目录。这个目录
// 不存在,将在复制期间创建
// 目录过程。
String destination = "C:/Demo/target";
File destDir = new File(destination);
try {
// 将源目录复制到目标目录
//包括其子目录和文件。什么时候
// 目标目录不存在,它将
//被创建。此复制过程还保留了
// 文件的日期信息。
FileUtils.copyDirectory(srcDir, destDir);
} catch (IOException e) {
e.printStackTrace();
}
}
}Maven依赖
<!-- http://repo1.maven.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>