Class RegexFileFilter

java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.RegexFileFilter
All Implemented Interfaces:
FileFilter, FilenameFilter, Serializable, IOFileFilter

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

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

e.g.

 File dir = new File(".");
 FileFilter fileFilter = new RegexFileFilter("^.*[tT]est(-\\d+)?\\.java$");
 File[] files = dir.listFiles(fileFilter);
 for (int i = 0; i < files.length; i++) {
   System.out.println(files[i]);
 }
 
Since:
1.4
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • pattern

      private final Pattern pattern
      The regular expression pattern that will be used to match file names
  • Constructor Details

    • RegexFileFilter

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

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

      public RegexFileFilter(String pattern, int flags)
      Construct 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(Pattern pattern)
      Construct a new regular expression filter for a compiled regular expression
      Parameters:
      pattern - regular expression to match
      Throws:
      IllegalArgumentException - if the pattern is null
  • Method Details

    • accept

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