2015-05-26 64 views
1

我有一個.properties文件,其中有註釋數量,當我嘗試更新評論以外的文件內容時,即使我的評論正在消失,如何保留我的意見?更新.properties文件後,評論正在被刪除

這裏是config.properties文件:

#name of user 
name=user1 
#id of user 
id=id1 

以及更新屬性文件中的代碼中,我使用

public class SetLog { 
    public static void setPath() 
    { 
     File file = new File("./config.properties"); 
      Properties prop = new Properties(); 
      FileInputStream objInput = null; 
      try { 
      objInput = new FileInputStream(file); 
      prop.load(objInput); 
      objInput.close(); 

     FileOutputStream out = new FileOutputStream("./config.properties"); 
//update the content 
       prop.setProperty("name", "user2"); 
       prop.store(out, null); 
       out.close(); 
      } catch (Exception e) {}    
    } 

} 

後我運行上面的代碼,屬性文件的內容改變爲:

name=user2 
id=id1 

但我想以這種格式:

#name of user 
name=user2 
#id of user 
id=id1 

如何保留我的意見,請幫忙!

+0

也許XML格式? storeToXML和loadFromXML?這將有助於以UTF-8的形式使用Unicode。 –

回答

1

這已經在類似的問題回答:Adding comments in a Property File。基本上歸結爲使用Apache Commons擴展來讀取和寫入屬性文件。

+2

如果已經回答了,那麼最好將這個問題標記爲重複。 – Tom

+1

我已經標記爲這樣,湯姆 –

0

嘗試讀取文件中的字符並忽略以#開頭的行。

看到這個link

+0

我認爲OP希望_maintain_評論。哪些不保存在屬性中,因此在存儲屬性時會消失。 –

+0

是的,一旦讀取了註釋,當文件被新屬性更新時,它們可以被寫回到文件中。事實上,甚至更好,評論可以用更新的評論歷史和\或日期時間戳來更新。 –

+0

@ E2241,我需要你提供的鏈接中提到的問題的解決方案,但我無法理解代碼,我們不能以簡單的方式實現它,我們可以保持我們的意見,因爲它是更新鍵值? – sunpat