簡體   English   中英

在JAR中寫入屬性文件

[英]Writing to a properties file in a JAR

我正在創建一個將在Windows,Mac OX和Linux上運行的應用程序。 我有一個屬性文件,其中存儲需要實時讀取和更改的用戶設置。

JAR文件已壓縮,並不意味着可以隨時更改,這意味着我應該寫入外部文件。

我正在使用 :

new FileInputStream("database")

new FileOutputStream("database")

如何創建將在所有三個操作系統中保持一致的URL。 JAR在桌面上作為應用程序運行,我希望將文件存儲在離散的位置。

我試圖從與此類相同的包中的本地文件中讀取:

this.getClass().getResourceAsStream("database")

這行得通,但是我似乎無法創建輸出流來寫入同一文件,但這將違反即時更改JAR文件的規則。

有很多充分的理由使您不應該這樣做,這是我的首要考慮:

  • GetResourceAsStream不一定從JAR本身獲取文件。 您偶然從那里得到了它,因為Jar是類路徑中的第一個或唯一元素。
  • 如果要簽名,則在自己的Jar中寫入文件可能會破壞JAR簽名。
  • 數據庫可能需要備份; 在這種情況下,您可能希望將其與代碼分開備份(還原數據庫時可以升級代碼)。

希望這可以幫助。

暫無
暫無

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

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