Class WildcardFilter

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

Deprecated.
Use WildcardFileFilter. Deprecated as this class performs directory filtering which it shouldn't do, but that can't be removed due to compatibility.
Filters files using the supplied wildcards.

This filter selects files, but not directories, based on one or more wildcards and using case-sensitive comparison.

The wildcard matcher uses the characters '?' and '*' to represent a single or multiple wildcard characters. This is the same as often found on DOS/Unix command lines. The extension check is case-sensitive. See FilenameUtils.wildcardMatch(String, String) for more information.

For example:

Using Classic IO

 File dir = FileUtils.current();
 FileFilter fileFilter = new WildcardFilter("*test*.java~*~");
 File[] files = dir.listFiles(fileFilter);
 for (String file : files) {
     System.out.println(file);
 }
 

Using NIO

 final Path dir = PathUtils.current();
 final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new WildcardFilter("*test*.java~*~"));
 //
 // 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.1
See Also:
  • Constructor Details

    • WildcardFilter

      public WildcardFilter(List<String> wildcards)
      Deprecated.
      Constructs a new case-sensitive wildcard filter for a list of wildcards.
      Parameters:
      wildcards - the list of wildcards to match
      Throws:
      NullPointerException - if the pattern list is null
      ClassCastException - if the list does not contain Strings
    • WildcardFilter

      public WildcardFilter(String wildcard)
      Deprecated.
      Constructs a new case-sensitive wildcard filter for a single wildcard.
      Parameters:
      wildcard - the wildcard to match
      Throws:
      NullPointerException - if the pattern is null
    • WildcardFilter

      public WildcardFilter(String... wildcards)
      Deprecated.
      Constructs a new case-sensitive wildcard filter for an array of wildcards.
      Parameters:
      wildcards - the array of wildcards to match
      Throws:
      NullPointerException - if the pattern array is null
  • Method Details

    • accept

      public boolean accept(File file)
      Deprecated.
      Checks to see if the file name matches one of the wildcards.
      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 name matches one of the wildcards
    • accept

      public boolean accept(File dir, String name)
      Deprecated.
      Checks to see if the file name matches one of the wildcards.
      Specified by:
      accept in interface FilenameFilter
      Specified by:
      accept in interface IOFileFilter
      Overrides:
      accept in class AbstractFileFilter
      Parameters:
      dir - the file directory
      name - the file name
      Returns:
      true if the file name matches one of the wildcards
    • accept

      public FileVisitResult accept(Path path, BasicFileAttributes attributes)
      Deprecated.
      Checks to see if the file name matches one of the wildcards.
      Specified by:
      accept in interface IOFileFilter
      Specified by:
      accept in interface PathFilter
      Parameters:
      path - the file to check
      attributes - the file's basic attributes (TODO may be null).
      Returns:
      true if the file name matches one of the wildcards
      Since:
      2.9.0