2013-07-07 111 views
1

我設計了一個Java應用程序,我想保存它的最後一個窗口狀態和一些其他設置,如日期格式。我目前將窗口狀態保存爲「config.ini」文件,並且對於此代碼工作良好。在Java應用程序中保存和更新配置設置

private void saveConfig() { 
     try { 
      Properties properties = new Properties(); 

      properties.setProperty("windowstate", String.valueOf(this.getExtendedState())); 

      properties.store(new FileOutputStream("./data/config.ini"), null); 

     } catch (Exception e) { 
     } 
    } 

但我想保存一些其他設置。爲此,我可以更新此config.ini文件的個別參數嗎? (目前只有「的WindowState」,萬一有類似日期格式,最後使用的電子郵件地址等)

我現在的文件是這樣的

#Sun Jul 07 22:19:35 IST 2013 
windowstate=0 

例如如果config.ini文件是這樣

#Sun Jul 07 22:19:35 IST 2013 
windowstate=0 
dateformat=yyyy-MM-dd 
[email protected] 

我只能更新「lastmailaddress」,而不影響其他人呢?如何? 目前我的代碼覆蓋這個文件。

謝謝。

回答

2

您每次宣佈一個新的Properties並且僅添加windowstate即可。它怎麼能知道其他的東西?

你必須:

  1. 負荷從文件屬性

  2. 添加和/或修改設置

  3. 屬性保存到同一文件

+0

得到它了。謝謝! –

0
FileInputStream in = new FileInputStream("D:/raman/abnconfig.ini"); 
Properties props = new Properties(); 
props.load(in); 
in.close(); 
FileOutputStream out = new FileOutputStream("D:/raman/abnconfig.ini"); 
props.setProperty("HSMLUNAPWD", "AUS"); 
props.store(out, null); 
out.close(); 
+0

歡迎來到SO :-)只是有幾點意見:a)請學習如何格式化代碼(在開始的時候我可能會覺得很有吸引力,正如我從這裏開始的第一天就記得的那樣:-) b)向代碼添加一些解釋片段有助於未來的讀者更好地理解解決方案 – kleopatra