org.apache.commons.io.filefilter

Class RegexFileFilter

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 <32files.length; i++) {
   System.out.println(files[i]);
 }
 
Version:
$Revision: 606381 $
Author:
Oliver Siegmar
Since:
Commons IO 1.4

Field Summary

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

Constructor Summary

RegexFileFilter(Pattern pattern)
Construct a new regular expression filter for a compiled regular expression
RegexFileFilter(String pattern)
Construct a new regular expression filter.
RegexFileFilter(String pattern, int flags)
Construct a new regular expression filter with the specified flags.
RegexFileFilter(String pattern, IOCase caseSensitivity)
Construct a new regular expression filter with the specified flags case sensitivity.

Method Summary

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

Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter

accept, accept, toString

Field Details

pattern

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

Constructor Details

RegexFileFilter

public RegexFileFilter(Pattern pattern)
Construct a new regular expression filter for a compiled regular expression
Parameters:
pattern - regular expression to match

RegexFileFilter

public RegexFileFilter(String pattern)
Construct a new regular expression filter.
Parameters:
pattern - regular string expression to match

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
caseSensitivity - how to handle case sensitivity, null means case-sensitive

Method Details

accept

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

Copyright (c) 2002-2009 Apache Software Foundation