【问题标题】:Is System.getProperty("user.home") equivalent to Paths.get("~").absolutePath? [duplicate]System.getProperty("user.home") 是否等同于 Paths.get("~").absolutePath? [复制]
【发布时间】:2018-05-30 04:09:30
【问题描述】:

通过等价,我的意思是逻辑等价,而不是字符串比较。 例如。如果我这样做Files.newBufferedReader(Paths.get("file.txt", System.getProperty("user.home"))Files.newBufferedReader(Paths.get("~").resolve(Paths.get("file.txt"))),我会在 Windows 和其他系统上得到相同的文件吗?

【问题讨论】:

  • 没有。只有 shell 理解 ~。它不是文件系统中的有效路径组件。
  • Windows 上的“Home”是非常主观的。副本应该在这方面启发你。

标签: java nio java.nio.file


【解决方案1】:

当然没有。波浪号字符在 shell 中具有特殊含义。它指向HOME 变量。在 Java 中,~ 就像任何其他文件名一样。此外,在 Windows 中,您不能使用 ~ 作为主目录等效项。

【讨论】:

    猜你喜欢
    • 2018-03-21
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 2011-09-08
    相关资源
    最近更新 更多