如何检查给定的文件是否在另一个文件下面?例如,我有new Paths.get("/foo/bar/")
和new Paths.get("./abc/def.jar")
。我想检查第二个文件是否在/foo/bar
下面。
我可以想到一些基于字符串比较的方法,例如path.toFile().getAbsolutePath().startsWith(path2.toFile().getAbsolutePath())
,但这看起来很脆弱且不正确。
如何检查给定的文件是否在另一个文件下面?例如,我有new Paths.get("/foo/bar/")
和new Paths.get("./abc/def.jar")
。我想检查第二个文件是否在/foo/bar
下面。
我可以想到一些基于字符串比较的方法,例如path.toFile().getAbsolutePath().startsWith(path2.toFile().getAbsolutePath())
,但这看起来很脆弱且不正确。
我发现这个有用的Path.startsWith( Path other )
方法,所以这对我很有帮助:
inputPath.toAbsolutePath().startsWith(outputDirectory.toAbsolutePath())