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>, PathMatcher, 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 = FileUtils.current();
 String[] files = dir.list(DirectoryFileFilter.INSTANCE);
 for (String file : files) {
     System.out.println(file);
 }
 

Using NIO

 final Path dir = PathUtils.current();
 final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(DirectoryFileFilter.INSTANCE);
 //
 // Walk one directory
 Files.walkFileTree(dir, Collections.emptySet(), 1, visitor);
 System.out.println(visitor.getPathCounters());
 System.out.println(visitor.getFileList());
 //
 visitor.getPathCounters().reset();
 //
 // Walk directory tree
 Files.walkFileTree(dir, visitor);
 System.out.println(visitor.getPathCounters());
 System.out.println(visitor.getDirList());
 System.out.println(visitor.getFileList());
 

Deprecating Serialization

Serialization is deprecated and will be removed in 3.0.

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.
  • Constructor Details

  • Method Details