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(String,String)
for more information.
To build an instance, see WildcardFileFilter.Builder
.
For example:
File dir = FileUtils.current(); FileFilter fileFilter = WildcardFileFilter.builder().setWildcards("*test*.java~*~").get(); File[] files = dir.listFiles(fileFilter); for (String file : files) { System.out.println(file); }
final Path dir = PathUtils.current(); final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters( WildcardFileFilter.builder().setWildcards("*test*.java~*~").get()); // // 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());
Serialization is deprecated and will be removed in 3.0.
Modifier and Type | Class and Description |
---|---|
static class |
WildcardFileFilter.Builder
Builds a new
WildcardFileFilter instance. |
Modifier and Type | Field and Description |
---|---|
private IOCase |
ioCase
Whether the comparison is case-sensitive.
|
private static long |
serialVersionUID |
private java.lang.String[] |
wildcards
The wildcards that will be used to match file names.
|
EMPTY_STRING_ARRAY
Modifier | Constructor and Description |
---|---|
private |
WildcardFileFilter(IOCase ioCase,
java.lang.String... wildcards)
Constructs a new wildcard filter for an array of wildcards specifying case-sensitivity.
|
|
WildcardFileFilter(java.util.List<java.lang.String> wildcards)
Deprecated.
|
|
WildcardFileFilter(java.util.List<java.lang.String> wildcards,
IOCase ioCase)
Deprecated.
|
|
WildcardFileFilter(java.lang.String... wildcards)
Deprecated.
|
|
WildcardFileFilter(java.lang.String wildcard)
Deprecated.
|
|
WildcardFileFilter(java.lang.String[] wildcards,
IOCase ioCase)
Deprecated.
|
|
WildcardFileFilter(java.lang.String wildcard,
IOCase ioCase)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
boolean |
accept(java.io.File file)
Checks to see if the file name matches one of the wildcards.
|
boolean |
accept(java.io.File dir,
java.lang.String name)
Checks to see if the file name matches one of the wildcards.
|
java.nio.file.FileVisitResult |
accept(java.nio.file.Path file,
java.nio.file.attribute.BasicFileAttributes attributes)
Checks to see if the file name matches one of the wildcards.
|
private boolean |
accept(java.lang.String name) |
static WildcardFileFilter.Builder |
builder()
Constructs a new
WildcardFileFilter.Builder . |
private static <T> T |
requireWildcards(T wildcards) |
java.lang.String |
toString()
Provide a String representation of this file filter.
|
append, append, get, handle, postVisitDirectory, preVisitDirectory, toDefaultFileVisitResult, toFileVisitResult, visitFile, visitFileFailed
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
and, matches, negate, or
private static final long serialVersionUID
private final java.lang.String[] wildcards
private final IOCase ioCase
private WildcardFileFilter(IOCase ioCase, java.lang.String... wildcards)
wildcards
- the array of wildcards to match, not nullioCase
- how to handle case sensitivity, null means case-sensitivejava.lang.NullPointerException
- if the pattern array is null@Deprecated public WildcardFileFilter(java.util.List<java.lang.String> wildcards)
builder()
, WildcardFileFilter.Builder
, and WildcardFileFilter.Builder.get()
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 Strings@Deprecated public WildcardFileFilter(java.util.List<java.lang.String> wildcards, IOCase ioCase)
builder()
, WildcardFileFilter.Builder
, and WildcardFileFilter.Builder.get()
wildcards
- the list of wildcards to match, not nullioCase
- 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 Strings@Deprecated public WildcardFileFilter(java.lang.String wildcard)
builder()
, WildcardFileFilter.Builder
, and WildcardFileFilter.Builder.get()
wildcard
- the wildcard to matchjava.lang.IllegalArgumentException
- if the pattern is null@Deprecated public WildcardFileFilter(java.lang.String... wildcards)
builder()
, WildcardFileFilter.Builder
, and WildcardFileFilter.Builder.get()
wildcards
- the array of wildcards to matchjava.lang.NullPointerException
- if the pattern array is null@Deprecated public WildcardFileFilter(java.lang.String wildcard, IOCase ioCase)
builder()
, WildcardFileFilter.Builder
, and WildcardFileFilter.Builder.get()
wildcard
- the wildcard to match, not nullioCase
- how to handle case sensitivity, null means case-sensitivejava.lang.NullPointerException
- if the pattern is null@Deprecated public WildcardFileFilter(java.lang.String[] wildcards, IOCase ioCase)
builder()
, WildcardFileFilter.Builder
, and WildcardFileFilter.Builder.get()
wildcards
- the array of wildcards to match, not nullioCase
- how to handle case sensitivity, null means case-sensitivejava.lang.NullPointerException
- if the pattern array is nullpublic static WildcardFileFilter.Builder builder()
WildcardFileFilter.Builder
.WildcardFileFilter.Builder
.private static <T> T requireWildcards(T wildcards)
public boolean accept(java.io.File file)
accept
in interface java.io.FileFilter
accept
in interface IOFileFilter
accept
in class AbstractFileFilter
file
- the file to checkpublic boolean accept(java.io.File dir, java.lang.String name)
accept
in interface java.io.FilenameFilter
accept
in interface IOFileFilter
accept
in class AbstractFileFilter
dir
- the file directory (ignored)name
- the file namepublic java.nio.file.FileVisitResult accept(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes)
accept
in interface PathFilter
accept
in interface IOFileFilter
file
- the file to checkattributes
- the file's basic attributes (TODO may be null).private boolean accept(java.lang.String name)
public java.lang.String toString()
toString
in class AbstractFileFilter