org.apache.commons.io.filefilter

Class NameFileFilter

public class NameFileFilter extends AbstractFileFilter

Filters filenames for a certain name.

For example, to print all files and directories in the current directory whose name is Test:

 File dir = new File(".");
 String[] files = dir.list( new NameFileFilter("Test") );
 for ( int i = 0; i < files.length; i++ ) {
     System.out.println(files[i]);
 }
 

Since: Commons IO 1.0

Version: $Revision: 471628 $ $Date: 2006-11-06 05:06:45 +0100 (Mo, 06 Nov 2006) $

Author: Stephen Colebourne Federico Barbieri Serge Knystautas Peter Donald

Field Summary
IOCasecaseSensitivity
Whether the comparison is case sensitive.
String[]names
The filenames to search for
Constructor Summary
NameFileFilter(String name)
Constructs a new case-sensitive name file filter for a single name.
NameFileFilter(String name, IOCase caseSensitivity)
Construct a new name file filter specifying case-sensitivity.
NameFileFilter(String[] names)
Constructs a new case-sensitive name file filter for an array of names.
NameFileFilter(String[] names, IOCase caseSensitivity)
Constructs a new name file filter for an array of names specifying case-sensitivity.
NameFileFilter(List names)
Constructs a new case-sensitive name file filter for a list of names.
NameFileFilter(List names, IOCase caseSensitivity)
Constructs a new name file filter for a list of names specifying case-sensitivity.
Method Summary
booleanaccept(File file)
Checks to see if the filename matches.
booleanaccept(File file, String name)
Checks to see if the filename matches.

Field Detail

caseSensitivity

private IOCase caseSensitivity
Whether the comparison is case sensitive.

names

private String[] names
The filenames to search for

Constructor Detail

NameFileFilter

public NameFileFilter(String name)
Constructs a new case-sensitive name file filter for a single name.

Parameters: name the name to allow, must not be null

Throws: IllegalArgumentException if the name is null

NameFileFilter

public NameFileFilter(String name, IOCase caseSensitivity)
Construct a new name file filter specifying case-sensitivity.

Parameters: name the name to allow, must not be null caseSensitivity how to handle case sensitivity, null means case-sensitive

Throws: IllegalArgumentException if the name is null

NameFileFilter

public NameFileFilter(String[] names)
Constructs a new case-sensitive name file filter for an array of names.

The array is not cloned, so could be changed after constructing the instance. This would be inadvisable however.

Parameters: names the names to allow, must not be null

Throws: IllegalArgumentException if the names array is null

NameFileFilter

public NameFileFilter(String[] names, IOCase caseSensitivity)
Constructs a new name file filter for an array of names specifying case-sensitivity.

The array is not cloned, so could be changed after constructing the instance. This would be inadvisable however.

Parameters: names the names to allow, must not be null caseSensitivity how to handle case sensitivity, null means case-sensitive

Throws: IllegalArgumentException if the names array is null

NameFileFilter

public NameFileFilter(List names)
Constructs a new case-sensitive name file filter for a list of names.

Parameters: names the names to allow, must not be null

Throws: IllegalArgumentException if the name list is null ClassCastException if the list does not contain Strings

NameFileFilter

public NameFileFilter(List names, IOCase caseSensitivity)
Constructs a new name file filter for a list of names specifying case-sensitivity.

Parameters: names the names to allow, must not be null caseSensitivity how to handle case sensitivity, null means case-sensitive

Throws: IllegalArgumentException if the name list is null ClassCastException if the list does not contain Strings

Method Detail

accept

public boolean accept(File file)
Checks to see if the filename matches.

Parameters: file the File to check

Returns: true if the filename matches

accept

public boolean accept(File file, String name)
Checks to see if the filename matches.

Parameters: file the File directory name the filename

Returns: true if the filename matches