Package org.apache.commons.io.filefilter
Class SymbolicLinkFileFilter
java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.SymbolicLinkFileFilter
- All Implemented Interfaces:
FileFilter,FilenameFilter,Serializable,FileVisitor<Path>,PathMatcher,PathFilter,PathVisitor,IOFileFilter
This filter accepts
Files that are symbolic links.
For example, here is how to print out a list of the real files within the current directory:
Using Classic IO
File dir = FileUtils.current();
String[] files = dir.list(SymbolicLinkFileFilter.INSTANCE);
for (String file : files) {
System.out.println(file);
}
Using NIO
final Path dir = PathUtils.current(); final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(SymbolicLinkFileFilter.INSTANCE); // // 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:
- 2.11.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SymbolicLinkFileFilterSingleton instance of file filter.private static final longFields inherited from interface org.apache.commons.io.filefilter.IOFileFilter
EMPTY_STRING_ARRAY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRestrictive constructor.SymbolicLinkFileFilter(FileVisitResult onAccept, FileVisitResult onReject) Constructs a new instance. -
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks to see if the file is a symbolic link.accept(Path path, BasicFileAttributes attributes) Checks to see if the file is a symbolic link.(package private) booleanisSymbolicLink(Path filePath) Delegates toFiles.isSymbolicLink(Path)for testing.Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter
accept, append, append, get, handle, postVisitDirectory, preVisitDirectory, toDefaultFileVisitResult, toFileVisitResult, toString, 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
-
Field Details
-
INSTANCE
Singleton instance of file filter. -
serialVersionUID
private static final long serialVersionUID- See Also:
-
-
Constructor Details
-
SymbolicLinkFileFilter
protected SymbolicLinkFileFilter()Restrictive constructor. -
SymbolicLinkFileFilter
Constructs a new instance.- Parameters:
onAccept- What to do on acceptance.onReject- What to do on rejection.- Since:
- 2.12.0.
-
-
Method Details
-
accept
Checks to see if the file is a symbolic link.- Specified by:
acceptin interfaceFileFilter- Specified by:
acceptin interfaceIOFileFilter- Overrides:
acceptin classAbstractFileFilter- Parameters:
file- the File to check- Returns:
- true if the file exists and is a symbolic link to either another file or a directory, false otherwise.
-
accept
Checks to see if the file is a symbolic link.- Specified by:
acceptin interfaceIOFileFilter- Specified by:
acceptin interfacePathFilter- Parameters:
path- the File Path to checkattributes- the file's basic attributes (TODO may be null).- Returns:
onAcceptfromSymbolicLinkFileFilter(FileVisitResult, FileVisitResult)if the file exists and is a symbolic link to either another file or a directory; returnsonRejectotherwise.
-
isSymbolicLink
Delegates toFiles.isSymbolicLink(Path)for testing.Using package access for unit tests. To facilitate unit testing, all calls to test if the file is a symbolic should go through this method. (See the unit test for why.)
- Parameters:
filePath- The filePath to test- Returns:
- true if the file exists and is a symbolic link to either a file or directory, false otherwise.
-