我有一個將PDF文件(子文件夾)複製到目標文件夾的小應用程序。但它工作得很慢,我想優化它。你可以幫我嗎?Java遞歸文件複製優化
代碼:
public void pdfFolderCopy(File src, File dest)
throws IOException {
if (src.isDirectory()) {
if (!dest.exists()) {
dest.mkdir();
}
String files[] = src.list();
for (String file : files) {
File srcFile = new File(src, file);
File destFile = new File(dest, file);
pdfFolderCopy(srcFile, destFile);
}
} else {
if (!dest.exists()) {
System.out.println("Copying: " + src);
//Use the Apache IO copyFile method:
FileUtils.copyFile(src, dest);
}
}
}
它是運行約一分半鐘,如果每一個文件都已經存在。大約5分鐘,如果我們需要複製約500個文件。
看不出爲什麼這應該如此緩慢。嘗試記錄一些時間 –
我認爲這也取決於文件的大小以及它們多大? –
大約有15000個文件,包含100K fileszie。 – Roberto