Class RegexFileFilter

java.lang.Object
org.apache.commons.vfs2.filter.RegexFileFilter
All Implemented Interfaces:
Serializable, FileFilter

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

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

For example, to retrieve and print all java files where the name matched the regular expression in the current directory:

 FileSystemManager fsManager = VFS.getManager();
 FileObject dir = fsManager.toFileObject(new File("."));
 FileObject[] files = dir.findFiles(new FileFilterSelector(new RegexFileFilter("ˆ.*[tT]est(-\\d+)?\\.java$")));
 for (int i = 0; i < files.length; i++) {
     System.out.println(files[i]);
 }
 
Since:
2.4
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • PATTERN_IS_MISSING

      public static final String PATTERN_IS_MISSING
      Exception message when no pattern is given in the constructor.
      See Also:
    • pattern

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

    • RegexFileFilter

      public RegexFileFilter(Pattern pattern)
      Construct a new regular expression filter for a compiled regular expression.
      Parameters:
      pattern - regular expression to match - Cannot be null
    • RegexFileFilter

      public RegexFileFilter(String pattern)
      Construct a new regular expression filter.
      Parameters:
      pattern - regular string expression to match - Cannot be 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
    • 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 - Cannot be null
      caseSensitivity - how to handle case sensitivity, null means case-sensitive
  • Method Details

    • accept

      public boolean accept(FileSelectInfo fileSelectInfo)
      Checks to see if the file name matches one of the regular expressions.
      Specified by:
      accept in interface FileFilter
      Parameters:
      fileSelectInfo - the File to check
      Returns:
      true if the file matches one of the regular expressions