2012-12-18 35 views
3

我想從apache commons io使用FileUtils方法「static void copyDirectory(File srcDir,File destDir)」將文件從一個文件夾複製到另一個文件夾(2.4)用下面的代碼:如何繼續從FileUtils(Apache Commons IO 2.4)copyDirectory複製

​​

文件結構如下所示:

examples/       (read access) 
examples/.subdirectory    (NO access) 
examples/file1.txt     (read access) 
examples/file2.txt     (read access) 
examples/subdirectory2/file1.txt (read access) 
examples/subdirectory2/file2.txt (NO access) 

的問題是,在SRCDIR有幾個文件和一個子目錄我沒有進入。 FileUtils.copyDirectory會拋出一個「java.io.FileNotFoundException:.subdirectory(Permission denied)」並中止。

是否有可能忽略那些我沒有權限的文件,而只是複製我可以讀取的所有其他文件?

回答

4

使用FileFilter如下:

FileUtils.copyDirectory(new File(srcDir), new File(destDir), new FileFilter() { 
    @Override 
    public boolean accept(File pathname) { 
     return pathname.canRead(); 
    } 
}); 

更多信息,請參見javadoc

+0

+1 for exact soln @ sp00m – gks

相關問題