Java 什么是SimpleFileVisitor的非递归定义?

Java 什么是SimpleFileVisitor的非递归定义?,java,file,nio,Java,File,Nio,Oracle的Java文档对SimpleFileVisitor有一个非常有用的定义:“以默认行为访问所有文件并重新抛出I/O错误的文件的简单访问者。”,有人能解释一下访问一个文件意味着什么或者这是多么简单吗?a是一个对象,它的回调方法作为一种方法被调用,比如遍历公共根目录下的整个文件层次结构。当遇到树中的每个文件或目录时,我们称之为“已访问”。此时,传递给walk方法的FileVisitor参数会调用其一个或多个方法,具体取决于每个文件的性质 事实上,将其与FileVisitor界面区分开来:

Oracle的Java文档对SimpleFileVisitor有一个非常有用的定义:“以默认行为访问所有文件并重新抛出I/O错误的文件的简单访问者。”,有人能解释一下访问一个文件意味着什么或者这是多么简单吗?

a是一个对象,它的回调方法作为一种方法被调用,比如遍历公共根目录下的整个文件层次结构。当遇到树中的每个文件或目录时,我们称之为“已访问”。此时,传递给walk方法的FileVisitor参数会调用其一个或多个方法,具体取决于每个文件的性质

事实上,将其与FileVisitor界面区分开来:

以默认行为访问所有文件并重新抛出I/O错误的文件的简单访问者

此类中的方法可以根据其一般约定被重写

SimpleFileVisitor实现FileVisitor的每个方法。每个实现的方法都返回一个
FileVisitResult
,告诉walk算法继续遍历树;这就是javadoc类中“访问所有文件”的含义。任何异常都是传播的,而不是捕获和抑制的;这就是javadoc类中“重新抛出I/O错误”的含义

“简单”部分意味着SimpleFileVisitor没有自己的功能。它是一个“空”类:每个方法只允许继续文件树遍历


最后,类javadoc声明了该类的预期用途:子类将覆盖一个或多个方法。与所有面向对象的继承一样,子类应遵守每个方法以及每个继承类和接口的书面约定(javadoc)。

请参见。这与递归有什么关系?另请参见。请注意,
SimpleFileVisitor
FileVisitor
接口的一个方便的框架实现;如果您只需要实现其中的一些方法,而不是全部四种方法(即,您只需要覆盖您需要的方法),您就可以扩展
SimpleFileVisitor
。@Andreas我相信他的意思是,措辞是递归的。将一个SimpleFileVisitor描述为“文件的简单访问者”就像一本字典定义为“食物:n.参见食物”