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>, 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 = 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:
    `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)` Checks to see if the file is a directory.
    `FileVisitResult` | `accept(Path file, BasicFileAttributes attributes)` Checks to see if the file is a directory.

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

      `accept, handle, postVisitDirectory, preVisitDirectory, 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, negate, or`

- - ### Field Detail

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

    - #### DirectoryFileFilter

          protected DirectoryFileFilter()

      Restrictive constructor.

  - ### Method Detail

    - #### 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 `PathFilter`
      Specified by:
        `accept` in interface `IOFileFilter`
      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

Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.