簡體   English   中英

FileOutputStream構造函數正在tomcat的temp文件夾而不是堆中尋找文件對象

[英]FileOutputStream constructor is looking for file object in temp folder of tomcat instead of heap

在我的程序中,我正在創建帶有文件名的文件類對象。 之后要寫入該文件,我將使用上述文件對象創建一個FileOutputStream對象。

File file = new File("mod.properties");
FileOutputStream fileOut = new FileOutputStream(file);

當它在tomcat服務器中運行時,它正在temp文件夾中尋找“文件”對象。 而不是堆。 而且並不是每台tomcat服務器都發生這種情況,但是很少發生。

[無法從文件夾路徑/ opt / tomcat / temp / 1501748741522-0提取模型] [堆棧] [java.io.FileNotFoundException:在java.io.FileOutputStream.open0處的mod.properties(無此類文件或目錄)(本機方法)的java.io.FileOutputStream.open(FileOutputStream.java:270)的java.io.FileOutputStream。(FileOutputStream.java:213)的java.io.FileOutputStream。(FileOutputStream.java:162)的

來自java.io.File javadoc:“絕對路徑名是完整的,因為不需要其他信息即可找到它表示的文件。相反,相對路徑名必須根據從其他路徑獲取的信息來解釋。默認情況下,java.io包中的類始終解析當前用戶目錄的相對路徑名。該目錄由系統屬性user.dir命名,通常是在其中調用Java虛擬機的目錄。”

在構造File時,您要設置一個相對路徑名,所以您在這里有一個答案:這些實例具有不同的屬性/設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM