如何将文件夹及其所有子文件夹和文件复制到另一个文件夹

如何将文件夹及其所有子文件夹和文件复制到另一个文件夹中?

Apache Commons IO可以为您提供帮助。 看看FileUtils 。

选择你喜欢的:

  • 来自Apache Commons IO的FileUtils( 最简单,最安全的方式

FileUtils示例:

File srcDir = new File("C:/Demo/source"); File destDir = new File("C:/Demo/target"); FileUtils.copyDirectory(srcDir, destDir); 
  • 手动, Java 7之前的示例 (CHANGE:finally块中的关闭流)
  • 手动,Java> = 7

Java 7中具有AutoCloseablefunction的示例:

 public void copy(File sourceLocation, File targetLocation) throws IOException { if (sourceLocation.isDirectory()) { copyDirectory(sourceLocation, targetLocation); } else { copyFile(sourceLocation, targetLocation); } } private void copyDirectory(File source, File target) throws IOException { if (!target.exists()) { target.mkdir(); } for (String f : source.list()) { copy(new File(source, f), new File(target, f)); } } private void copyFile(File source, File target) throws IOException { try ( InputStream in = new FileInputStream(source); OutputStream out = new FileOutputStream(target) ) { byte[] buf = new byte[1024]; int length; while ((length = in.read(buf)) > 0) { out.write(buf, 0, length); } } } 

看一下java.io.File的一堆函数。

您将遍历现有结构和mkdir,保存等以实现深层复制。

JAVA NIO将帮助您解决问题。 请查看此http://tutorials.jenkov.com/java-nio/files.html#overwriting-existing-files 。