我使用 Apache FileUtils 和 IOFileFilter 以递归方式列出文件夹下的所有文件,不包括 .svn 文件夹。这是我尝试过的代码
File selectedFolder = new File(path);\\path to folder to list
final IOFileFilter dirs = new IOFileFilter() {
@Override
public boolean accept(File file, String s) {
return file.isDirectory();
}
@Override
public boolean accept(File file) {
// TODO Auto-generated method stub
if(file.getName().toLowerCase().equalsIgnoreCase(".svn")||file.getName().toLowerCase().contains(".svn"))
return false;
else return true;
}
};
filesList.addAll(FileUtils.listFiles(selectedFolder,dirs, TrueFileFilter.INSTANCE));
我收到错误
java.lang.IllegalArgumentException: Parameter 'directory' is not a directory
at org.apache.commons.io.FileUtils.validateListFilesParameters(FileUtils.java:545)
at org.apache.commons.io.FileUtils.listFiles(FileUtils.java:521)
谁能告诉我哪里出错了。我觉得使用的过滤器有问题。我想不通