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

时间:2018-05-29 09:00:26

标签: java file

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

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

1 个答案:

答案 0 :(得分:0)

  

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

在macOS m, n = 10000, 10000 %timeit indices_for(m, n) 607 ms ± 9.12 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) %timeit np.argwhere(np.ones((m, n))) 4.69 s ± 225 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) 上符号链接到/tmp。目录/private/tmp 确实存在,其中包含/private