Class RegexFileFilter

  • All Implemented Interfaces:
    java.io.FileFilter, java.io.FilenameFilter, java.io.Serializable, IOFileFilter

    public class RegexFileFilter
    extends AbstractFileFilter
    implements java.io.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:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      RegexFileFilter​(java.lang.String pattern)
      Construct a new regular expression filter.
      RegexFileFilter​(java.lang.String pattern, int flags)
      Construct a new regular expression filter with the specified flags.
      RegexFileFilter​(java.lang.String pattern, IOCase caseSensitivity)
      Construct a new regular expression filter with the specified flags case sensitivity.
      RegexFileFilter​(java.util.regex.Pattern pattern)
      Construct a new regular expression filter for a compiled regular expression
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean accept​(java.io.File dir, java.lang.String name)
      Checks to see if the file name matches one of the regular expressions.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • RegexFileFilter

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

        public RegexFileFilter​(java.lang.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:
        java.lang.IllegalArgumentException - if the pattern is null
      • RegexFileFilter

        public RegexFileFilter​(java.lang.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:
        java.lang.IllegalArgumentException - if the pattern is null
      • RegexFileFilter

        public RegexFileFilter​(java.util.regex.Pattern pattern)
        Construct a new regular expression filter for a compiled regular expression
        Parameters:
        pattern - regular expression to match
        Throws:
        java.lang.IllegalArgumentException - if the pattern is null
    • Method Detail

      • accept

        public boolean accept​(java.io.File dir,
                              java.lang.String name)
        Checks to see if the file name matches one of the regular expressions.
        Specified by:
        accept in interface java.io.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