当前位置: 首页 > 知识库问答 >
问题:

如何检查一个目录是否在其他目录中

阎辰钊
2023-03-14

如何检查一个给定的文件是否在另一个文件下?例如,我有< code>new Paths.get("/foo/bar/" 和< code > new paths . get("。/abc/def.jar")。我想检查第二个是否在< code>/foo/bar下。

我可以找出一些基于字符串的比较,比如< code>path.toFile()。getAbsolutePath()。startsWith(path2.toFile()。getAbsolutePath()),但那看起来很脆弱,不对。

共有1个答案

贲骏喆
2023-03-14

我找到了这个有用的Path.starts用(路径其他)方法,所以这对我有用:

inputPath.toAbsolutePath().startsWith(outputDirectory.toAbsolutePath())
 类似资料:
  • 问题内容: 如何检查C语言在Linux上是否存在目录? 问题答案: 您可以使用并检查是否失败:

  • 问题内容: 我想检查我的Go代码中文件的存在,但是我找不到一种好的方法。 我知道有一种Java中的File方法:如果文件或目录存在,则返回true。 但是如何在Go中完成呢? 问题答案: 编辑以添加错误处理。

  • 我想检查一个现有的文件是否在一个特定的目录或子目录中。

  • 问题内容: 我正在尝试检查给定目录中的特定文件。我不需要代码,但我想修复已有的代码。这个问题的唯一区别是,我正在寻找带有扩展名的文件。 我已经准备好代码:- 但是由于某些原因,它不起作用。我不明白为什么,有人可以在这里找到任何错误吗? 问题答案: 您希望temp.MOD文件位于当前目录(运行应用程序的目录)中,还是希望它位于“目录”文件夹中?在后一种情况下,尝试以这种方式创建文件: 还要检查文件权

  • 问题内容: 我正在使用以下脚本读取目录。如果目录中没有文件,则应说空。问题是,即使里面有ARE文件,它总是说目录是空的,反之亦然。 问题答案: 似乎您需要的不是glob,因为glob无法看到Unix隐藏文件。 请注意,这段代码并不是效率的最高峰,因为不必仅知道目录是否为空就读取所有文件。因此,更好的版本是 顺便说一句,不要使用 单词 来代替 布尔 值。后者的目的是告诉您是否有空。一个 表达式已经返

  • 问题内容: 如果目录尚不存在,我想创建一个目录。 为此目的使用足够的吗? 还是应该结合使用? 问题答案: 两者在Unix系统上都将返回true-在Unix中,所有内容都是文件,包括目录。但是要测试该名称是否被采用,您应该同时检查两者。可能会有一个名为“ foo”的常规文件,这将阻止您创建目录名称“ foo”。