!7 import java.nio.file.*; import java.nio.file.attribute.*; p { Path path = FileSystems.getDefault().getPath(userHome()); Files.walkFileTree(path, new SimpleFileVisitor() { @Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { return FileVisitResult.SKIP_SUBTREE; } @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { // here you have the files to process bool dir = attrs.isDirectory(); // always false I guess bool sym = attrs.isSymbolicLink(); print((sym ? "SYMLINK: " : dir ? "DIR: " : "FILE: ") + file); return sym || dir ? FileVisitResult.SKIP_SUBTREE : FileVisitResult.CONTINUE; } @Override public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException { print("OOPS: " + file); return FileVisitResult.CONTINUE; } }); }