将所有子文件夹从一个复制到另一个,但java中的一些子文件夹除外?
问题描述:
我想将输入文件夹中的所有子文件夹复制到outputDir,但某些子文件夹除外。我正在使用的方法是在这里。但我不知道如何过滤子文件夹。将所有子文件夹从一个复制到另一个,但java中的一些子文件夹除外?
public static void copyDirectory(String inputFolder, String outputDir) {
File source = new File(inputFolder);
File desc = new File(outputDir);
try {
FileUtils.copyDirectory(source, desc);
} catch (IOException e) {
e.printStackTrace();
}
}
答
嗨使用下面的代码:
public static void copyDirectory(String inputFolder, String outputDir) {
File source = new File(inputFolder);
File desc = new File(outputDir);
ArrayList al=new ArrayList();//contains all your directory filter names
try {
for (File file : source.listFiles()) {
if (!al.contains(file.getName())&&file.isDirectory()) {
FileUtils.copyDirectory(source, desc);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
+0
我已经试过你的代码,但它不工作,因为你正在使用FileUtils.copyDirectory(source,desc);这会将源dir中的所有数据复制到desc dir – 2013-03-14 13:01:41
答
试试这个。
public static void copyDirectory(String inputFolder, String outputDir) {
File source = new File(inputFolder);
File desc = new File(outputDir);
String name = source.getName();
String desti = desc.getPath() + "/" + name;
File destination = new File(desti);
destination.mkdir();
File[] subFolders = source.listFiles();
for (File subFolder : subFolders) {
if (condition satisfies){
// copy to destination folder
} else {
// Ignore
}
}
}
可能DUP http://stackoverflow.com/questions/7191635/java-copy-a-folder-excluding-some-internal-file – 2013-03-14 12:26:16
看到这个:http://stackoverflow.com/questions/7191635/java-copy-a-folder-excluded-some-internal-file – 2013-03-14 12:27:05