Package org.apache.commons.io.filefilter
Class NameFileFilter
java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.NameFileFilter
- All Implemented Interfaces:
FileFilter,FilenameFilter,Serializable,FileVisitor<Path>,PathMatcher,PathFilter,PathVisitor,IOFileFilter
Filters file names for a certain name.
For example, to print all files and directories in the
current directory whose name is Test:
Using Classic IO
File dir = FileUtils.current();
String[] files = dir.list(new NameFileFilter("Test"));
for (String file : files) {
System.out.println(file);
}
Using NIO
final Path dir = PathUtils.current();
final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new NameFileFilter("Test"));
//
// Walk one directory
Files.walkFileTree(dir, Collections.emptySet(), 1, visitor);
System.out.println(visitor.getPathCounters());
System.out.println(visitor.getFileList());
//
visitor.getPathCounters().reset();
//
// Walk directory 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
ConstructorsConstructorDescriptionNameFileFilter(String name) Constructs a new case-sensitive name file filter for a single name.NameFileFilter(String... names) Constructs a new case-sensitive name file filter for an array of names.NameFileFilter(String[] names, IOCase ioCase) Constructs a new name file filter for an array of names specifying case-sensitivity.NameFileFilter(String name, IOCase ioCase) Constructs a new name file filter specifying case-sensitivity.NameFileFilter(List<String> names) Constructs a new case-sensitive name file filter for a list of names.NameFileFilter(List<String> names, IOCase ioCase) Constructs a new name file filter for a list of names specifying case-sensitivity. -
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks to see if the file name matches.booleanChecks to see if the file name matches.accept(Path path, BasicFileAttributes attributes) Checks to see if the file name matches.toString()Provide a String representation of this file filter.Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter
handle, postVisitDirectory, preVisitDirectory, visitFile, visitFileFailedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.commons.io.filefilter.IOFileFilter
and, matches, negate, or
-
Constructor Details
-
NameFileFilter
Constructs a new case-sensitive name file filter for a list of names.- Parameters:
names- the names to allow, must not be null- Throws:
IllegalArgumentException- if the name list is nullClassCastException- if the list does not contain Strings
-
NameFileFilter
Constructs a new name file filter for a list of names specifying case-sensitivity.- Parameters:
names- the names to allow, must not be nullioCase- how to handle case sensitivity, null means case-sensitive- Throws:
NullPointerException- if the name list is nullClassCastException- if the list does not contain Strings
-
NameFileFilter
Constructs a new case-sensitive name file filter for a single name.- Parameters:
name- the name to allow, must not be null- Throws:
IllegalArgumentException- if the name is null
-
NameFileFilter
Constructs a new case-sensitive name file filter for an array of names.The array is not cloned, so could be changed after constructing the instance. This would be inadvisable however.
- Parameters:
names- the names to allow, must not be null- Throws:
IllegalArgumentException- if the names array is null
-
NameFileFilter
Constructs a new name file filter specifying case-sensitivity.- Parameters:
name- the name to allow, must not be nullioCase- how to handle case sensitivity, null means case-sensitive- Throws:
NullPointerException- if the name is null
-
NameFileFilter
Constructs a new name file filter for an array of names specifying case-sensitivity.- Parameters:
names- the names to allow, must not be nullioCase- how to handle case sensitivity, null means case-sensitive- Throws:
NullPointerException- if the names array is null
-
-
Method Details
-
accept
Checks to see if the file name matches.- Specified by:
acceptin interfaceFileFilter- Specified by:
acceptin interfaceIOFileFilter- Overrides:
acceptin classAbstractFileFilter- Parameters:
file- the File to check- Returns:
- true if the file name matches
-
accept
Checks to see if the file name matches.- Specified by:
acceptin interfaceFilenameFilter- Specified by:
acceptin interfaceIOFileFilter- Overrides:
acceptin classAbstractFileFilter- Parameters:
dir- the File directory (ignored)name- the file name- Returns:
- true if the file name matches
-
accept
Checks to see if the file name matches.- Specified by:
acceptin interfaceIOFileFilter- Specified by:
acceptin interfacePathFilter- Parameters:
path- the File to checkattributes- the path's basic attributes (may be null).- Returns:
- true if the file name matches
- Since:
- 2.9.0
-
toString
Provide a String representation of this file filter.- Overrides:
toStringin classAbstractFileFilter- Returns:
- a String representation
-