Package org.apache.commons.io.filefilter
Class WildcardFileFilter
java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.WildcardFileFilter
- All Implemented Interfaces:
FileFilter,FilenameFilter,Serializable,IOFileFilter
Filters files using the supplied wildcards.
This filter selects files and directories based on one or more wildcards. Testing is case-sensitive by default, but this can be configured.
The wildcard matcher uses the characters '?' and '*' to represent a
single or multiple wildcard characters.
This is the same as often found on Dos/Unix command lines.
The check is case-sensitive by default.
See FilenameUtils.wildcardMatchOnSystem(String,String) for more information.
For example:
File dir = new File(".");
FileFilter fileFilter = new WildcardFileFilter("*test*.java~*~");
File[] files = dir.listFiles(fileFilter);
for (int i = 0; i < files.length; i++) {
System.out.println(files[i]);
}
- Since:
- 1.3
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final IOCaseWhether the comparison is case sensitive.private static final longprivate final String[]The wildcards that will be used to match file names.Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter
EMPTY_STRING_ARRAY -
Constructor Summary
ConstructorsConstructorDescriptionWildcardFileFilter(String wildcard) Construct a new case-sensitive wildcard filter for a single wildcard.WildcardFileFilter(String... wildcards) Construct a new case-sensitive wildcard filter for an array of wildcards.WildcardFileFilter(String[] wildcards, IOCase caseSensitivity) Construct a new wildcard filter for an array of wildcards specifying case-sensitivity.WildcardFileFilter(String wildcard, IOCase caseSensitivity) Construct a new wildcard filter for a single wildcard specifying case-sensitivity.WildcardFileFilter(List<String> wildcards) Construct a new case-sensitive wildcard filter for a list of wildcards.WildcardFileFilter(List<String> wildcards, IOCase caseSensitivity) Construct a new wildcard filter for a list of wildcards specifying case-sensitivity. -
Method Summary
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
wildcards
The wildcards that will be used to match file names. -
caseSensitivity
Whether the comparison is case sensitive.
-
-
Constructor Details
-
WildcardFileFilter
Construct a new case-sensitive wildcard filter for a single wildcard.- Parameters:
wildcard- the wildcard to match- Throws:
IllegalArgumentException- if the pattern is null
-
WildcardFileFilter
Construct a new wildcard filter for a single wildcard specifying case-sensitivity.- Parameters:
wildcard- the wildcard to match, not nullcaseSensitivity- how to handle case sensitivity, null means case-sensitive- Throws:
IllegalArgumentException- if the pattern is null
-
WildcardFileFilter
Construct a new case-sensitive wildcard filter for an array of wildcards.- Parameters:
wildcards- the array of wildcards to match- Throws:
IllegalArgumentException- if the pattern array is null
-
WildcardFileFilter
Construct a new wildcard filter for an array of wildcards specifying case-sensitivity.- Parameters:
wildcards- the array of wildcards to match, not nullcaseSensitivity- how to handle case sensitivity, null means case-sensitive- Throws:
IllegalArgumentException- if the pattern array is null
-
WildcardFileFilter
Construct a new case-sensitive wildcard filter for a list of wildcards.- Parameters:
wildcards- the list of wildcards to match, not null- Throws:
IllegalArgumentException- if the pattern list is nullClassCastException- if the list does not contain Strings
-
WildcardFileFilter
Construct a new wildcard filter for a list of wildcards specifying case-sensitivity.- Parameters:
wildcards- the list of wildcards to match, not nullcaseSensitivity- how to handle case sensitivity, null means case-sensitive- Throws:
IllegalArgumentException- if the pattern list is nullClassCastException- if the list does not contain Strings
-
-
Method Details
-
accept
Checks to see if the file name matches one of the wildcards.- Specified by:
acceptin interfaceFilenameFilter- Specified by:
acceptin interfaceIOFileFilter- Overrides:
acceptin classAbstractFileFilter- Parameters:
dir- the file directory (ignored)name- the file name- Returns:
- true if the file name matches one of the wildcards
-
accept
Checks to see if the file name matches one of the wildcards.- Specified by:
acceptin interfaceFileFilter- Specified by:
acceptin interfaceIOFileFilter- Overrides:
acceptin classAbstractFileFilter- Parameters:
file- the file to check- Returns:
- true if the file name matches one of the wildcards
-
toString
Provide a String representation of this file filter.- Overrides:
toStringin classAbstractFileFilter- Returns:
- a String representation
-