要复制带有整个子目录和文件的目录,我们可以使用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>