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 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 TypeMethodDescriptionbooleanTests to see if the file name matches.booleanTests 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 AbstractFileFilter
handle, postVisitDirectory, preVisitDirectory, visitFile, visitFileFailedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface 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
Tests 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
Tests 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
-