我正在对 Java NIO.2 及其文件操作进行一些研究,目前我正在使用文件树遍历函数和类。
NIO.2 FileVisitor
API 很棒,可惜最近才在 Java SE 中添加这样的东西,而不是十年前。然而,有一点让我有点困扰:使FileVisitor
接口通用的意义何在?
网上的每一个例子都展示了如何使用它,Files.walkFileTree()
这意味着我们正在使用FileVisitor<Path>
类型。但我只是看不到这个接口对Path
. 好吧,也许可以FileVisitor
用来遍历其他类型的树(内存中的树?),但这感觉不对:这个接口和相关类具有与文件语义相关的非常具体的名称,以及FileVisitor
's 方法扔IOException
s.
FileVisitor
那么,参数化类型有什么原因吗?