public class WildcardFileFilter extends AbstractFileFilter implements 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(String,String)
for more information.
For example:
File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("*test*.java~*~"); File[] files = dir.listFiles(fileFilter); for (String file : files) { System.out.println(file); }
final Path dir = Paths.get(""); final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new WildcardFileFilter("*test*.java~*~")); // // Walk one dir Files.walkFileTree(dir, Collections.emptySet(), 1, visitor); System.out.println(visitor.getPathCounters()); System.out.println(visitor.getFileList()); // visitor.getPathCounters().reset(); // // Walk dir tree Files.walkFileTree(dir, visitor); System.out.println(visitor.getPathCounters()); System.out.println(visitor.getDirList()); System.out.println(visitor.getFileList());
EMPTY_STRING_ARRAY
Constructor and Description |
---|
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.
|
WildcardFileFilter(String... wildcards)
Construct a new case-sensitive wildcard filter for an array of wildcards.
|
WildcardFileFilter(String wildcard)
Construct a new case-sensitive wildcard filter for a single wildcard.
|
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.
|
Modifier and Type | Method and Description |
---|---|
boolean |
accept(File file)
Checks to see if the file name matches one of the wildcards.
|
boolean |
accept(File dir,
String name)
Checks to see if the file name matches one of the wildcards.
|
FileVisitResult |
accept(Path file,
BasicFileAttributes attributes)
Checks to see if the file name matches one of the wildcards.
|
String |
toString()
Provide a String representation of this file filter.
|
handle, postVisitDirectory, preVisitDirectory, visitFile, visitFileFailed
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
and, negate, or
public WildcardFileFilter(List<String> wildcards)
wildcards
- the list of wildcards to match, not nullIllegalArgumentException
- if the pattern list is nullClassCastException
- if the list does not contain Stringspublic WildcardFileFilter(List<String> wildcards, IOCase caseSensitivity)
wildcards
- the list of wildcards to match, not nullcaseSensitivity
- how to handle case sensitivity, null means case-sensitiveIllegalArgumentException
- if the pattern list is nullClassCastException
- if the list does not contain Stringspublic WildcardFileFilter(String wildcard)
wildcard
- the wildcard to matchIllegalArgumentException
- if the pattern is nullpublic WildcardFileFilter(String... wildcards)
wildcards
- the array of wildcards to matchIllegalArgumentException
- if the pattern array is nullpublic WildcardFileFilter(String wildcard, IOCase caseSensitivity)
wildcard
- the wildcard to match, not nullcaseSensitivity
- how to handle case sensitivity, null means case-sensitiveIllegalArgumentException
- if the pattern is nullpublic WildcardFileFilter(String[] wildcards, IOCase caseSensitivity)
wildcards
- the array of wildcards to match, not nullcaseSensitivity
- how to handle case sensitivity, null means case-sensitiveIllegalArgumentException
- if the pattern array is nullpublic boolean accept(File file)
accept
in interface FileFilter
accept
in interface IOFileFilter
accept
in class AbstractFileFilter
file
- the file to checkpublic boolean accept(File dir, String name)
accept
in interface FilenameFilter
accept
in interface IOFileFilter
accept
in class AbstractFileFilter
dir
- the file directory (ignored)name
- the file namepublic FileVisitResult accept(Path file, BasicFileAttributes attributes)
accept
in interface PathFilter
accept
in interface IOFileFilter
file
- the file to checkattributes
- the file's basic attributes (TODO may be null).public String toString()
toString
in class AbstractFileFilter
Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.