要实现 FileVisitor 接口就要实现接口上的所有方法,但是你有可能只需要实现其中的一两个方法,因此这对于你来说会显得很麻烦。在这种情况下,你可以继承 SimpleFileVisitor 类,它是 FileVisitor 接口的一个实现。这样,你就仅仅只需要覆盖你需要的方法即可。
例如,你可能需要遍历目录树并打印所有目录的名字。要实现这个目标,只需要覆盖 postVisitDirectory() 和 visitFileFailed() 方法,参考代码如下:
正如你所见,上面代码忽略了 preVisitDirectory() 和 visitFile() 两个方法。
文章来源:[url]http://www.aptusource.org/2014/04/nio-2-simplefilevisitor/[/url]
例如,你可能需要遍历目录树并打印所有目录的名字。要实现这个目标,只需要覆盖 postVisitDirectory() 和 visitFileFailed() 方法,参考代码如下:
class ListTree extends SimpleFileVisitor<Path> {
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) {
System.out.println("Visited directory: " + dir.toString());
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFileFailed(Path file, IOException exc) {
System.out.println(exc);
return FileVisitResult.CONTINUE;
}
}
正如你所见,上面代码忽略了 preVisitDirectory() 和 visitFile() 两个方法。
文章来源:[url]http://www.aptusource.org/2014/04/nio-2-simplefilevisitor/[/url]