我刚刚发现,在Mac OS X上,File.createTempFile方法返回到文件的符号链接,而不是实际文件。有人知道这种行为的原因吗? (上下文:这会导致我的文件walker失败,因为它会忽略所有符号链接。)

编辑:我正在调用File.createTempFile(String,String,File),其中第三个参数是从System.getProperty(“ java.io.tmpdir”)创建的文件。

最佳答案

我在叫File.createTempFile(String,String,File)


大概是因为它希望文件占用/tmp/var/tmp中的空间,但是由于contract of the method的原因,它需要将文件放在提供的(第三个参数)目录中。

出于安全原因,将文件放置在指定的“临时”目录(例如/tmp)中很重要。许多系统为此目录有一个单独的分区,以防止恶意输入填满磁盘。

10-08 01:49