Class DirectoryFileFilter

java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.DirectoryFileFilter
All Implemented Interfaces:
FileFilter, FilenameFilter, Serializable, FileVisitor<Path>, PathFilter, PathVisitor, IOFileFilter

public class DirectoryFileFilter extends AbstractFileFilter implements Serializable
This filter accepts Files that are directories.

For example, here is how to print out a list of the current directory's subdirectories:

Using Classic IO

 File dir = new File(".");
 String[] files = dir.list(DirectoryFileFilter.INSTANCE);
 for (String file : files) {
     System.out.println(file);
 }
 

Using NIO

 final Path dir = Paths.get("");
 final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(DirectoryFileFilter.INSTANCE);
 //
 // Walk one dir
 Files.walkFileTree(dir, Collections.emptySet(), 1, visitor);
 System.out.println(visitor.getPathCounters());
 System.out.println(visitor.getFileList());
 //
 visitor.getPathCounters().reset();
 //
 // Walk dir tree
 Files.walkFileTree(dir, visitor);
 System.out.println(visitor.getPathCounters());
 System.out.println(visitor.getDirList());
 System.out.println(visitor.getFileList());
 
Since:
1.0
See Also:
  • Field Details

    • DIRECTORY

      public static final IOFileFilter DIRECTORY
      Singleton instance of directory filter.
      Since:
      1.3
    • INSTANCE

      public static final IOFileFilter INSTANCE
      Singleton instance of directory filter. Please use the identical DirectoryFileFilter.DIRECTORY constant. The new name is more JDK 1.5 friendly as it doesn't clash with other values when using static imports.
    • serialVersionUID

      private static final long serialVersionUID
      See Also:
  • Constructor Details

    • DirectoryFileFilter

      protected DirectoryFileFilter()
      Restrictive constructor.
  • Method Details

    • accept

      public boolean accept(File file)
      Checks to see if the file is a directory.
      Specified by:
      accept in interface FileFilter
      Specified by:
      accept in interface IOFileFilter
      Overrides:
      accept in class AbstractFileFilter
      Parameters:
      file - the File to check
      Returns:
      true if the file is a directory
    • accept

      public FileVisitResult accept(Path file, BasicFileAttributes attributes)
      Checks to see if the file is a directory.
      Specified by:
      accept in interface IOFileFilter
      Specified by:
      accept in interface PathFilter
      Parameters:
      file - the File to check
      attributes - the file's basic attributes (TODO may be null).
      Returns:
      true if the file is a directory
      Since:
      2.9.0