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

Java getCanonicalPath返回不同平台之间的不同路径,java,file,Java,File,代码中较低的方法之一是使用file.getCanonicalPath()函数获取临时文件夹的规范路径(文件被定义为file file file=new file(“/tmp”))。这适用于linux和windows操作系统,但在macOS上,此函数返回以下字符串-“/private/tmp”,即使我的主目录中有一个tmp文件夹,但我没有/private目录。 你知道这个“私有”目录是从哪里来的吗?为什么这个方法在macOS中不把我指向“/tmp”,即使它是可访问的 注意:如果我创建一个随机的、不

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

注意:如果我创建一个随机的、不存在的dir File对象(
File File File=newfile(“/random”)
),它将返回规范路径

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


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

这是一个符号链接…确定。。这似乎是朝着正确的方向迈出的一步,但我得到的错误仍然是:foldernotexist:/private/tmpSee