我希望使用一个字符串作为参数作为路径名的元素交给我。我不希望被小鲍比桌子困扰#39;也就是说,我不想要' ..'是可以接受的。我希望这可以使用任意NIO2 FileSystem
,因此只需查找字符串..
就不够好了。我可以进行一些检查,例如!path.isAbsolute()
和path.getNameCount() == 1
来过滤掉其他问题,但除了将其传递给resolve
并查找错误的名称,我可以做任何其他事情吗?告诉它是否具有..
的语义?
答案 0 :(得分:1)
toRealPath()
主要是答案。解决后的路径上的方法给你 解析父母后的真实路径(例如" ..")和链接。
然后,您可以使用root.startsWith(path)快速检查它是否在您的子树中。
但是:仅适用于现有文件。