nio2:检测' ..'和类似的元素

时间:2016-05-11 18:28:54

标签: nio2

我希望使用一个字符串作为参数作为路径名的元素交给我。我不希望被小鲍比桌子困扰#39;也就是说,我不想要' ..'是可以接受的。我希望这可以使用任意NIO2 FileSystem,因此只需查找字符串..就不够好了。我可以进行一些检查,例如!path.isAbsolute()path.getNameCount() == 1来过滤掉其他问题,但除了将其传递给resolve并查找错误的名称,我可以做任何其他事情吗?告诉它是否具有..的语义?

1 个答案:

答案 0 :(得分:1)

toRealPath()

主要是答案。解决后的路径上的方法给你 解析父母后的真实路径(例如" ..")和链接。

然后,您可以使用root.startsWith(path)快速检查它是否在您的子树中。

但是:仅适用于现有文件。