首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java系统属性“java.io.tmpdir”的不同行为

Java系统属性“java.io.tmpdir”的不同行为
EN

Stack Overflow用户
提问于 2015-04-16 07:36:58
回答 1查看 4.8K关注 0票数 1

当我试图获得字符串tempdir =System.getProperty(“java.io.tmpdir”)时,它将返回我的操作系统'temp‘目录路径。例如C:\Users\DATAGU~1\AppData\Local\Temp\在普通java应用程序中。没错。

但是,当我试图在部署在tomcat6上的web应用程序上获得相同的属性时,它将返回tomcat目录路径(例如D:\tomcat6\ temp )。有人知道为什么会发生这种事吗?另外,是否有任何方法从我的web应用程序中获取默认的OS临时目录,因为我需要将一些文件存储在临时目录中,这个目录应该是OS临时目录。

我也尝试过: File temp = File.createTempFile("temp- file ","tmp");System.out.println("Temp文件:“+ temp.getAbsolutePath());

此方法具有与上述方法相同的行为。有没有人知道:)?

EN

回答 1

Stack Overflow用户

发布于 2015-04-16 07:50:19

默认的临时文件目录由系统属性java.io.tmpdir指定.在UNIX系统上,这个属性的默认值通常是"/tmp“或"/var/tmp";在Microsoft系统上,它通常是"C:\WINNT\TEMP”。在调用Java虚拟机时,该系统属性可能会被赋予不同的值,但对该属性的编程更改不能保证对此方法使用的临时目录产生任何影响。

来自JavaDocs

因此,Tomcat必须设置java.io.tmpdir系统属性。如果您确实需要一个不同的值来使用,您将不得不提供它。

或者只使用File.createTempFile(String, String, File)函数(我将其链接为上面的源代码)来提供目录。这可能会更理想,因为您不必与Tomcat争谁来设置系统属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29668260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档