Class DirectoryFileFilter

  • All Implemented Interfaces:
    java.io.FileFilter, java.io.FilenameFilter, java.io.Serializable, java.nio.file.FileVisitor<java.nio.file.Path>, PathFilter, PathVisitor, IOFileFilter

    public class DirectoryFileFilter
    extends AbstractFileFilter
    implements java.io.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:
    FileFilterUtils.directoryFileFilter(), Serialized Form
    • 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.
    • Method Detail

      • accept

        public boolean accept​(java.io.File file)
        Checks to see if the file is a directory.
        Specified by:
        accept in interface java.io.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 java.nio.file.FileVisitResult accept​(java.nio.file.Path file,
                                                    java.nio.file.attribute.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