Class SymbolicLinkFileFilter

  • All Implemented Interfaces:
    java.io.FileFilter, java.io.FilenameFilter, java.io.Serializable, java.nio.file.FileVisitor<java.nio.file.Path>, PathFilter, PathVisitor, IOFileFilter

    public class SymbolicLinkFileFilter
    extends AbstractFileFilter
    implements java.io.Serializable
    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:
    FileFilterUtils.fileFileFilter(), Serialized Form
    • Constructor Detail

      • SymbolicLinkFileFilter

        public SymbolicLinkFileFilter​(java.nio.file.FileVisitResult onAccept,
                                      java.nio.file.FileVisitResult onReject)
        Constructs a new instance.
        Parameters:
        onAccept - What to do on acceptance.
        onReject - What to do on rejection.
        Since:
        2.12.0.
    • Method Detail

      • accept

        public boolean accept​(java.io.File file)
        Checks to see if the file is a symbolic link.
        Specified by:
        accept in interface java.io.FileFilter
        Specified by:
        accept in interface IOFileFilter
        Overrides:
        accept in class AbstractFileFilter
        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

        public java.nio.file.FileVisitResult accept​(java.nio.file.Path path,
                                                    java.nio.file.attribute.BasicFileAttributes attributes)
        Checks to see if the file is a file.
        Specified by:
        accept in interface IOFileFilter
        Specified by:
        accept in interface PathFilter
        Parameters:
        path - the File Path to check
        attributes - the file's basic attributes (TODO may be null).
        Returns:
        true if the file exists and is a symbolic link to either another file or a directory.