org.apache.commons.io.filefilter

## 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 `File`s 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.

  See Also:
    `FileFilterUtils.directoryFileFilter()`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static IOFileFilter` | `DIRECTORY` Singleton instance of directory filter.
    `static IOFileFilter` | `INSTANCE` Singleton instance of directory filter.

    - ### Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter

      `EMPTY_STRING_ARRAY`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `DirectoryFileFilter()` Restrictive constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `accept(File file)` Tests to see if the file is a directory.
    `FileVisitResult` | `accept(Path file, BasicFileAttributes attributes)` Tests to see if the file is a directory.

    - ### Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter

      `accept, append, append, get, handle, isDirectory, isFile, postVisitDirectory, preVisitDirectory, toDefaultFileVisitResult, toFileVisitResult, toString, visitFile, visitFileFailed`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.commons.io.filefilter.IOFileFilter

      `and, matches, negate, or`

- - ### Field Detail

    - #### DIRECTORY

          public static final IOFileFilter DIRECTORY

      Singleton instance of directory filter.

    - #### 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 Detail

    - #### DirectoryFileFilter

          protected DirectoryFileFilter()

      Restrictive constructor.

  - ### Method Detail

    - #### accept

          public boolean accept(File file)

      Tests 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)

      Tests to see if the file is a directory.
      Specified by:
        `accept` in interface `PathFilter`
      Specified by:
        `accept` in interface `IOFileFilter`
      Parameters:
        `file` - the File to check
        `attributes` - the path's basic attributes (may be null).
      Returns:
        true if the file is a directory