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
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
-
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:
accept
in interfaceFilenameFilter
- Specified by:
accept
in interfaceIOFileFilter
- Overrides:
accept
in 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:
accept
in interfaceFileFilter
- Specified by:
accept
in interfaceIOFileFilter
- Overrides:
accept
in 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:
toString
in classAbstractFileFilter
- Returns:
- a String representation
-