当 System.getProperty(“java.io.tmpdir”) 返回 “c:\temp” 时

2022-08-31 08:57:25

只是好奇什么时候回来。根据java.io.File Java DocsSystem.getProperty("java.io.tmpdir")"c:\temp"-

缺省的临时文件目录由系统属性 java.io.tmpdir 指定。在 UNIX 系统上,此属性的默认值通常为“/tmp”或“/var/tmp”;在Microsoft Windows系统上,它通常是“c:\temp”。调用 Java 虚拟机时,可以为此系统属性指定不同的值,但对此属性的编程更改不保证对此方法使用的临时目录产生任何影响。

但就我而言——

System.out.println(System.getProperty("java.io.tmpdir"));

始终返回-

C:\Users\admin\AppData\Local\Temp\ i.e. %TEMP%

在什么条件下它会返回?"c:\temp"

编辑:如果我将%TEMP%更改为C:\Temp,那么我将获得C:\Temp,对吧?但文档显示的是 c:\Temp 而不是 C:\Temp。


答案 1

在 MS Windows 中,临时目录由环境变量 设置。在 XP 中,临时目录按用户设置为“本地设置\Temp”。TEMP

如果将 TEMP 环境变量更改为 ,则在运行 时会得到相同的结果:C:\temp

System.out.println(System.getProperty("java.io.tmpdir"));


答案 2

如果设置

-Djava.io.tmpdir=C:\temp

推荐