2014-06-08 45 views
1

我在Servlet中使用File.createTempFilecreateTempFile版本只有前缀和后缀,但没有File参数)。如何在servlet中的/ tmp中创建一个临时文件?

根据javadoc这应该在系统的默认临时目录中创建一个文件(在本例中为/tmp)。相反,该文件在/tmp/tomcat7-tomcat7-tmp/中创建。

为什么奇怪的临时文件位置以及如何将其更改为我的系统的“正常”临时文件位置?

回答

2

Java使用系统属性java.io.tmpdir来获取当前临时目录。据我记得运行tomcat的脚本之一将这个变量设置为你所提到的。如果它对你很重要,你应该重写这个变量。尝试grep tomcat脚本,找到这个地方并覆盖它。运行tomcat时可能会设置JAVA_OPTS=$JAVA_OPTS java.io.tmpdir=/tmp或类似的东西。 (显然,语法取决于你的操作系统)。

相关问题