2014-06-08 47 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或類似的東西。 (顯然,語法取決於你的操作系統)。

相關問題