public class WildcardFileFilter extends AbstractFileFilter implements java.io.Serializable
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(java.lang.String, java.lang.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]);
}
| Modifier and Type | Field and Description |
|---|---|
private IOCase |
caseSensitivity
Whether the comparison is case sensitive.
|
private static long |
serialVersionUID |
private java.lang.String[] |
wildcards
The wildcards that will be used to match filenames.
|
| Constructor and Description |
|---|
WildcardFileFilter(java.util.List<java.lang.String> wildcards)
Construct a new case-sensitive wildcard filter for a list of wildcards.
|
WildcardFileFilter(java.util.List<java.lang.String> wildcards,
IOCase caseSensitivity)
Construct a new wildcard filter for a list of wildcards specifying case-sensitivity.
|
WildcardFileFilter(java.lang.String wildcard)
Construct a new case-sensitive wildcard filter for a single wildcard.
|
WildcardFileFilter(java.lang.String[] wildcards)
Construct a new case-sensitive wildcard filter for an array of wildcards.
|
WildcardFileFilter(java.lang.String[] wildcards,
IOCase caseSensitivity)
Construct a new wildcard filter for an array of wildcards specifying case-sensitivity.
|
WildcardFileFilter(java.lang.String wildcard,
IOCase caseSensitivity)
Construct a new wildcard filter for a single wildcard specifying case-sensitivity.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
accept(java.io.File file)
Checks to see if the filename matches one of the wildcards.
|
boolean |
accept(java.io.File dir,
java.lang.String name)
Checks to see if the filename matches one of the wildcards.
|
java.lang.String |
toString()
Provide a String representation of this file filter.
|
private static final long serialVersionUID
private final java.lang.String[] wildcards
private final IOCase caseSensitivity
public WildcardFileFilter(java.lang.String wildcard)
wildcard - the wildcard to matchjava.lang.IllegalArgumentException - if the pattern is nullpublic WildcardFileFilter(java.lang.String wildcard,
IOCase caseSensitivity)
wildcard - the wildcard to match, not nullcaseSensitivity - how to handle case sensitivity, null means case-sensitivejava.lang.IllegalArgumentException - if the pattern is nullpublic WildcardFileFilter(java.lang.String[] wildcards)
wildcards - the array of wildcards to matchjava.lang.IllegalArgumentException - if the pattern array is nullpublic WildcardFileFilter(java.lang.String[] wildcards,
IOCase caseSensitivity)
wildcards - the array of wildcards to match, not nullcaseSensitivity - how to handle case sensitivity, null means case-sensitivejava.lang.IllegalArgumentException - if the pattern array is nullpublic WildcardFileFilter(java.util.List<java.lang.String> wildcards)
wildcards - the list of wildcards to match, not nulljava.lang.IllegalArgumentException - if the pattern list is nulljava.lang.ClassCastException - if the list does not contain Stringspublic WildcardFileFilter(java.util.List<java.lang.String> wildcards,
IOCase caseSensitivity)
wildcards - the list of wildcards to match, not nullcaseSensitivity - how to handle case sensitivity, null means case-sensitivejava.lang.IllegalArgumentException - if the pattern list is nulljava.lang.ClassCastException - if the list does not contain Stringspublic boolean accept(java.io.File dir,
java.lang.String name)
accept in interface java.io.FilenameFilteraccept in interface IOFileFilteraccept in class AbstractFileFilterdir - the file directory (ignored)name - the filenamepublic boolean accept(java.io.File file)
accept in interface java.io.FileFilteraccept in interface IOFileFilteraccept in class AbstractFileFilterfile - the file to checkpublic java.lang.String toString()
toString in class AbstractFileFilterCopyright (c) 2002-2016 Apache Software Foundation