通过等价,我的意思是逻辑等价,而不是字符串比较。
例如。如果我Files.newBufferedReader(Paths.get("file.txt", System.getProperty("user.home"))
和Files.newBufferedReader(Paths.get("~").resolve(Paths.get("file.txt")))
,我会在Windows和其他系统上获得相同的文件吗?
答案 0 :(得分:1)
当然没有。 Tilde角色在shell中有特殊意义。它指向HOME
变量。在Java中~
与任何其他文件名一样。此外,在Windows中,您不能将~
用作等效的主目录。