Class RegexFileFilter

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

public class RegexFileFilter extends AbstractFileFilter implements Serializable
Filters files using supplied regular expression(s).

See java.util.regex.Pattern for regex matching rules.

Using Classic IO

e.g.

 File dir = FileUtils.current();
 FileFilter fileFilter = new RegexFileFilter("^.*[tT]est(-\\d+)?\\.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 RegexFileFilter("^.*[tT]est(-\\d+)?\\.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.4
See Also:
  • Constructor Details

    • RegexFileFilter

      public RegexFileFilter(Pattern pattern)
      Constructs a new regular expression filter for a compiled regular expression
      Parameters:
      pattern - regular expression to match.
      Throws:
      NullPointerException - if the pattern is null.
    • RegexFileFilter

      public RegexFileFilter(Pattern pattern, Function<Path,String> pathToString)
      Constructs a new regular expression filter for a compiled regular expression
      Parameters:
      pattern - regular expression to match.
      pathToString - How convert a path to a string.
      Throws:
      NullPointerException - if the pattern is null.
      Since:
      2.10.0
    • RegexFileFilter

      public RegexFileFilter(String pattern)
      Constructs a new regular expression filter.
      Parameters:
      pattern - regular string expression to match
      Throws:
      NullPointerException - if the pattern is null
    • RegexFileFilter

      public RegexFileFilter(String pattern, int flags)
      Constructs a new regular expression filter with the specified flags.
      Parameters:
      pattern - regular string expression to match
      flags - pattern flags - e.g. Pattern.CASE_INSENSITIVE
      Throws:
      IllegalArgumentException - if the pattern is null
    • RegexFileFilter

      public RegexFileFilter(String pattern, IOCase ioCase)
      Constructs a new regular expression filter with the specified flags case sensitivity.
      Parameters:
      pattern - regular string expression to match
      ioCase - how to handle case sensitivity, null means case-sensitive
      Throws:
      IllegalArgumentException - if the pattern is null
  • Method Details