Package org.apache.commons.io.filefilter
Class PrefixFileFilter
java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.PrefixFileFilter
- All Implemented Interfaces:
FileFilter
,FilenameFilter
,Serializable
,FileVisitor<Path>
,PathMatcher
,PathFilter
,PathVisitor
,IOFileFilter
Filters file names for a certain prefix.
For example, to print all files and directories in the
current directory whose name starts with Test
:
Using Classic IO
File dir = FileUtils.current(); String[] files = dir.list(new PrefixFileFilter("Test")); for (String file : files) { System.out.println(file); }
Using NIO
final Path dir = PathUtils.current(); 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());
Deprecating Serialization
Serialization is deprecated and will be removed in 3.0.
- Since:
- 1.0
- See Also:
-
Field Summary
Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter
EMPTY_STRING_ARRAY
-
Constructor Summary
ConstructorsConstructorDescriptionPrefixFileFilter
(String prefix) Constructs a new Prefix file filter for a single prefix.PrefixFileFilter
(String... prefixes) Constructs a new Prefix file filter for any of an array of prefixes.PrefixFileFilter
(String[] prefixes, IOCase ioCase) Constructs a new Prefix file filter for any of an array of prefixes specifying case-sensitivity.PrefixFileFilter
(String prefix, IOCase ioCase) Constructs a new Prefix file filter for a single prefix specifying case-sensitivity.PrefixFileFilter
(List<String> prefixes) Constructs a new Prefix file filter for a list of prefixes.PrefixFileFilter
(List<String> prefixes, IOCase ioCase) Constructs a new Prefix file filter for a list of prefixes specifying case-sensitivity. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Checks to see if the file name starts with the prefix.boolean
Checks to see if the file name starts with the prefix.accept
(Path file, BasicFileAttributes attributes) Checks to see if the file name starts with the prefix.toString()
Provide a String representation of this file filter.Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter
handle, postVisitDirectory, preVisitDirectory, visitFile, visitFileFailed
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.commons.io.filefilter.IOFileFilter
and, matches, negate, or
-
Constructor Details
-
PrefixFileFilter
Constructs a new Prefix file filter for a list of prefixes.- Parameters:
prefixes
- the prefixes to allow, must not be null- Throws:
NullPointerException
- if the prefix list is nullClassCastException
- if the list does not contain Strings
-
PrefixFileFilter
Constructs a new Prefix file filter for a list of prefixes specifying case-sensitivity.- Parameters:
prefixes
- the prefixes to allow, must not be nullioCase
- how to handle case sensitivity, null means case-sensitive- Throws:
NullPointerException
- if the prefix list is nullClassCastException
- if the list does not contain Strings- Since:
- 1.4
-
PrefixFileFilter
Constructs a new Prefix file filter for a single prefix.- Parameters:
prefix
- the prefix to allow, must not be null- Throws:
IllegalArgumentException
- if the prefix is null
-
PrefixFileFilter
Constructs a new Prefix file filter for any of an array of prefixes.The array is not cloned, so could be changed after constructing the instance. This would be inadvisable however.
- Parameters:
prefixes
- the prefixes to allow, must not be null- Throws:
IllegalArgumentException
- if the prefix array is null
-
PrefixFileFilter
Constructs a new Prefix file filter for a single prefix specifying case-sensitivity.- Parameters:
prefix
- the prefix to allow, must not be nullioCase
- how to handle case sensitivity, null means case-sensitive- Throws:
IllegalArgumentException
- if the prefix is null- Since:
- 1.4
-
PrefixFileFilter
Constructs a new Prefix file filter for any of an array of prefixes specifying case-sensitivity.- Parameters:
prefixes
- the prefixes to allow, must not be nullioCase
- how to handle case sensitivity, null means case-sensitive- Throws:
IllegalArgumentException
- if the prefix is null- Since:
- 1.4
-
-
Method Details
-
accept
Checks to see if the file name starts with the prefix.- 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 starts with one of our prefixes
-
accept
Checks to see if the file name starts with the prefix.- Specified by:
accept
in interfaceFilenameFilter
- Specified by:
accept
in interfaceIOFileFilter
- Overrides:
accept
in classAbstractFileFilter
- Parameters:
file
- the File directoryname
- the file name- Returns:
- true if the file name starts with one of our prefixes
-
accept
Checks to see if the file name starts with the prefix.- Specified by:
accept
in interfaceIOFileFilter
- Specified by:
accept
in interfacePathFilter
- Parameters:
file
- the File to checkattributes
- the file's basic attributes (TODO may be null).- Returns:
- true if the file name starts with one of our prefixes
- Since:
- 2.9.0
-
toString
Provide a String representation of this file filter.- Overrides:
toString
in classAbstractFileFilter
- Returns:
- a String representation
-