Class NameFileFilter

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

public class NameFileFilter extends AbstractFileFilter implements Serializable
Filters file names for a certain name.

For example, to print all files and directories in the current directory whose name is Test:

Using Classic IO

 File dir = FileUtils.current();
 String[] files = dir.list(new NameFileFilter("Test"));
 for (String file : files) {
     System.out.println(file);
 }
 

Using NIO

 final Path dir = PathUtils.current();
 final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new NameFileFilter("Test"));
 //
 // 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());
 

Deprecating Serialization

Serialization is deprecated and will be removed in 3.0.

Since:
1.0
See Also:
  • Constructor Details

    • NameFileFilter

      public NameFileFilter(List<String> names)
      Constructs a new case-sensitive name file filter for a list of names.
      Parameters:
      names - the names to allow, must not be null
      Throws:
      IllegalArgumentException - if the name list is null
      ClassCastException - if the list does not contain Strings
    • NameFileFilter

      public NameFileFilter(List<String> names, IOCase ioCase)
      Constructs a new name file filter for a list of names specifying case-sensitivity.
      Parameters:
      names - the names to allow, must not be null
      ioCase - how to handle case sensitivity, null means case-sensitive
      Throws:
      NullPointerException - if the name list is null
      ClassCastException - if the list does not contain Strings
    • NameFileFilter

      public NameFileFilter(String name)
      Constructs a new case-sensitive name file filter for a single name.
      Parameters:
      name - the name to allow, must not be null
      Throws:
      IllegalArgumentException - if the name is null
    • NameFileFilter

      public NameFileFilter(String... names)
      Constructs a new case-sensitive name file filter for an array of names.

      The array is not cloned, so could be changed after constructing the instance. This would be inadvisable however.

      Parameters:
      names - the names to allow, must not be null
      Throws:
      IllegalArgumentException - if the names array is null
    • NameFileFilter

      public NameFileFilter(String name, IOCase ioCase)
      Constructs a new name file filter specifying case-sensitivity.
      Parameters:
      name - the name to allow, must not be null
      ioCase - how to handle case sensitivity, null means case-sensitive
      Throws:
      NullPointerException - if the name is null
    • NameFileFilter

      public NameFileFilter(String[] names, IOCase ioCase)
      Constructs a new name file filter for an array of names specifying case-sensitivity.
      Parameters:
      names - the names to allow, must not be null
      ioCase - how to handle case sensitivity, null means case-sensitive
      Throws:
      NullPointerException - if the names array is null
  • Method Details