org.apache.commons.io.filefilter

Class RegexFileFilter

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: Commons IO 1.4

Version: $Revision: 606381 $

Author: Oliver Siegmar

Field Summary
Patternpattern
The regular expression pattern that will be used to match filenames
Constructor Summary
RegexFileFilter(String pattern)
Construct a new regular expression filter.
RegexFileFilter(String pattern, IOCase caseSensitivity)
Construct a new regular expression filter with the specified flags case sensitivity.
RegexFileFilter(String pattern, int flags)
Construct a new regular expression filter with the specified flags.
RegexFileFilter(Pattern pattern)
Construct a new regular expression filter for a compiled regular expression
Method Summary
booleanaccept(File dir, String name)
Checks to see if the filename matches one of the regular expressions.

Field Detail

pattern

private final Pattern pattern
The regular expression pattern that will be used to match filenames

Constructor Detail

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 Detail

accept

public boolean accept(File dir, String name)
Checks to see if the filename matches one of the regular expressions.

Parameters: dir the file directory name the filename

Returns: true if the filename matches one of the regular expressions

Copyright (c) 2002-2011 Apache Software Foundation