public class PrefixFileFilter extends AbstractFileFilter implements java.io.Serializable
For example, to print all files and directories in the
current directory whose name starts with Test
:
File dir = new File("."); String[] files = dir.list(new PrefixFileFilter("Test")); for (String file : files) { System.out.println(file); }
final Path dir = Paths.get(""); final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new PrefixFileFilter("Test")); // // 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());
Modifier and Type | Field and Description |
---|---|
private IOCase |
caseSensitivity
Whether the comparison is case sensitive.
|
private java.lang.String[] |
prefixes
The file name prefixes to search for
|
private static long |
serialVersionUID |
EMPTY_STRING_ARRAY
Constructor and Description |
---|
PrefixFileFilter(java.util.List<java.lang.String> prefixes)
Constructs a new Prefix file filter for a list of prefixes.
|
PrefixFileFilter(java.util.List<java.lang.String> prefixes,
IOCase caseSensitivity)
Constructs a new Prefix file filter for a list of prefixes
specifying case-sensitivity.
|
PrefixFileFilter(java.lang.String... prefixes)
Constructs a new Prefix file filter for any of an array of prefixes.
|
PrefixFileFilter(java.lang.String prefix)
Constructs a new Prefix file filter for a single prefix.
|
PrefixFileFilter(java.lang.String[] prefixes,
IOCase caseSensitivity)
Constructs a new Prefix file filter for any of an array of prefixes
specifying case-sensitivity.
|
PrefixFileFilter(java.lang.String prefix,
IOCase caseSensitivity)
Constructs a new Prefix file filter for a single prefix
specifying case-sensitivity.
|
Modifier and Type | Method and Description |
---|---|
boolean |
accept(java.io.File file)
Checks to see if the file name starts with the prefix.
|
boolean |
accept(java.io.File file,
java.lang.String name)
Checks to see if the file name starts with the prefix.
|
java.nio.file.FileVisitResult |
accept(java.nio.file.Path file,
java.nio.file.attribute.BasicFileAttributes attributes)
Checks to see if the file name starts with the prefix.
|
private boolean |
accept(java.lang.String name) |
java.lang.String |
toString()
Provide a String representation of this file filter.
|
handle, postVisitDirectory, preVisitDirectory, toFileVisitResult, visitFile, visitFileFailed
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
and, negate, or
private static final long serialVersionUID
private final java.lang.String[] prefixes
private final IOCase caseSensitivity
public PrefixFileFilter(java.util.List<java.lang.String> prefixes)
prefixes
- the prefixes to allow, must not be nulljava.lang.IllegalArgumentException
- if the prefix list is nulljava.lang.ClassCastException
- if the list does not contain Stringspublic PrefixFileFilter(java.util.List<java.lang.String> prefixes, IOCase caseSensitivity)
prefixes
- the prefixes to allow, must not be nullcaseSensitivity
- how to handle case sensitivity, null means case-sensitivejava.lang.IllegalArgumentException
- if the prefix list is nulljava.lang.ClassCastException
- if the list does not contain Stringspublic PrefixFileFilter(java.lang.String prefix)
prefix
- the prefix to allow, must not be nulljava.lang.IllegalArgumentException
- if the prefix is nullpublic PrefixFileFilter(java.lang.String... prefixes)
The array is not cloned, so could be changed after constructing the instance. This would be inadvisable however.
prefixes
- the prefixes to allow, must not be nulljava.lang.IllegalArgumentException
- if the prefix array is nullpublic PrefixFileFilter(java.lang.String prefix, IOCase caseSensitivity)
prefix
- the prefix to allow, must not be nullcaseSensitivity
- how to handle case sensitivity, null means case-sensitivejava.lang.IllegalArgumentException
- if the prefix is nullpublic PrefixFileFilter(java.lang.String[] prefixes, IOCase caseSensitivity)
prefixes
- the prefixes to allow, must not be nullcaseSensitivity
- how to handle case sensitivity, null means case-sensitivejava.lang.IllegalArgumentException
- if the prefix is nullpublic 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 file, java.lang.String name)
accept
in interface java.io.FilenameFilter
accept
in interface IOFileFilter
accept
in class AbstractFileFilter
file
- the File directoryname
- 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