getCanonicalPath 返回不同平台之间的不同路径



我的代码中较低的方法之一是使用file.getCanonicalPath()函数获取临时文件夹的规范路径(文件定义为File file = new File("/tmp")(。这适用于 linux 和 windows 操作系统,但在 macOS 上,此函数返回以下字符串 - "/private/tmp",即使我的主目录中有一个 tmp 文件夹并且我没有/private 目录。 知道这个"私有"目录来自哪里,为什么这种方法没有将我定向到 macOS 中的"/tmp",即使它可以访问?

注意:如果我创建一个随机的、不存在的 dir File 对象 (File file = new File("/random")(,它将很好地返回规范路径。

符号链接,也称为软链接,是一种特殊的文件 指向另一个文件,很像 Windows 中的快捷方式或 麦金塔别名。与硬链接不同,符号链接不包含 目标文件中的数据。它只是指向另一个条目 在文件系统中的某个位置。

在 macOS 上,/tmp符号链接到/private/tmp。目录/private确实存在,并且包含tmp

最新更新