2013-12-19 87 views
1

我有一个在网页中的selectMenu中使用的目录列表。如何获取排除某些子目录的所有子目录?

列表包含某个目录,使用下面的Java代码检索下的所有子目录..

File directory = new File("C:\\myHomeDirectory"); 
myDirectories = directory.listFiles((FileFilter) DirectoryFileFilter.DIRECTORY); 

我要过滤myDirectories列表中排除不包含某个文件的子目录(称为testFolder)。换句话说,我希望myDirectories只包含具有名为testForder的子文件夹的文件。怎么做?

回答

3

我想你必须实现你自己的FileFilter。

事情是这样的:

class CustomDirectoryFilter implements FileFilter { 

private String allowedFileName = "testFolder"; 

    @Override 
    public boolean accept(File pathname) { 

    if (pathname.isDirectory()) { 
     File[] subFiles = pathName.listFiles(); 
     for (File file : subFiles){ 
     if (file.getName().equals(allowedFileName)){ 
      return true; 
     } 
     } 
    } 
    return false; 
    } 
} 

说明: 为每个文件从C:\ myHomeDirectory测试,如果给定文件是目录。如果是,请获取其中的所有文件的数组并进行测试,如果其中任何文件包含您的文件。如果找到这样的文件,允许目录是myDirectories

我没有机会测试此示例代码编译,现在的一部分,但我希望它可以帮助你得到你的解决方案。

+0

非常感谢。它确实有帮助。 – Fati

+0

我很高兴我能帮上忙。 –

相关问题