I have provided you with an example that extends FileVisitor to print all entries in a file tree. It prints the entry whether the entry is a regular file. The following is the code that explains the same :
Code:
import static java.nio.file.FileVisitResult.*;
public static class PrintFilesDemo extends FileVisitor<Path> {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes ba) {
if (ba.isSymbolicLink()) {
System.out.format("Symbolic link: %s ", file);
} else if (ba.isRegularFile()) {
System.out.format("Regular file: %s ", file);
} else {
System.out.format("Other: %s ", file);
}
System.out.println("(" + ba.size() + "bytes)");
return CONTINUE;
}
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) {
System.out.format("Directory: %s%n", dir);
return CONTINUE;
}
@Override
public FileVisitResult preVisitDirectoryFailed(Path dir, IOException exc) {
System.err.println(exc);
return CONTINUE;
}
@Override
public FileVisitResult visitFileFailed(Path file, IOException exc) {
System.err.println(exc);
return CONTINUE;
}
}
Bookmarks