简体   繁体   English

如何使用FileUtils中的copyDirectory继续复制错误(Apache Commons IO 2.4)

[英]How to continue copying on error with copyDirectory from FileUtils (Apache Commons IO 2.4)

I am trying to copy files from one folder to another using the FileUtils method "static void copyDirectory(File srcDir, File destDir)" from apache commons io (2.4) with the following code: 我正在尝试使用以下代码使用来自apache commons io(2.4)的FileUtils方法“static void copyDirectory(File srcDir,File destDir)”将文件从一个文件夹复制到另一个文件夹:

String srcDir  = "/sourceDirectory/examples/";
String destDir = "/tmp/examples/";
try{
    FileUtils.copyDirectory(new File(srcDir), new File(destDir));
} catch (IOException e){
    e.printStackTrace();
}

The file structure looks like the following: 文件结构如下所示:

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)

The problem is, that in srcDir there are a few files and one subdirectory I don't have access to. 问题是,在srcDir中有一些文件和一个我无权访问的子目录。 FileUtils.copyDirectory throws an "java.io.FileNotFoundException: .subdirectory (Permission denied)" and aborts. FileUtils.copyDirectory抛出“java.io.FileNotFoundException:.subdirectory(权限被拒绝)”并中止。

Is it possible to ignore those files I don't have permission to and just copy all the other files I can read? 是否可以忽略那些我没有权限的文件,只是复制我可以阅读的所有其他文件?

Using a FileFilter as follow: 使用FileFilter如下:

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

See the javadoc for more information. 有关更多信息,请参阅javadoc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 来自 Apache Commons IO 的 FileUtils.readFileToString() 无法正确使用西里尔文 - FileUtils.readFileToString() from Apache Commons IO works incorrectly with Cyrillic 如何在Servlet中改善org.apache.commons.io.FileUtils copyInputStreamToFile - How to improve org.apache.commons.io.FileUtils copyInputStreamToFile in Servlet 使用Apache Commons FileUtils复制文件 - Copying file using Apache Commons FileUtils org / apache / commons / io / FileUtils-NoClassDefFoundError - org/apache/commons/io/FileUtils - NoClassDefFoundError 分叉进程 org/apache/commons/io/FileUtils org.apache.maven.surefire.booter.SurefireBooterForkException 中出现错误 - There was an error in the forked prpcess org/apache/commons/io/FileUtils org.apache.maven.surefire.booter.SurefireBooterForkException Apache FileUtils.copyDirectory(...)的进度条 - Progress bar with Apache FileUtils.copyDirectory(…) 如何使用apache-commons-io FileUtils.listFilesAndDirs过滤名称目录的所有目录和子目录? - How to filter all directories and sub directories of a directory with a name using apache-commons-io FileUtils.listFilesAndDirs? 使用Netbeans 8.0.2,并希望使用org.apache.commons.io.FileUtils; 怎么样? - Using Netbeans 8.0.2 and want to use org.apache.commons.io.FileUtils; how? Apache 公共文件工具 - Apache commons Fileutils 在 org.apache.commons.io.FileUtils.copyURLToFile 上设置超时? - Set timeout on org.apache.commons.io.FileUtils.copyURLToFile?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM