2015-06-24 23 views
0

我想要更新屬性文件如下。爲什麼屬性總是添加在中間

 Properties props = new Properties(); 

     FileInputStream in = new FileInputStream(filepath); 
     props.load(in); 
     in.close(); 

     FileOutputStream out = new FileOutputStream(filepath); 
     props.setProperty(key, value); 
     props.store(out,"fileupdated"); 

     out.close(); 

但始終我注意到,新添加的屬性添加一些地方在文件中,我希望它只是在結尾處添加。請告訴我應該如何解決這個問題。

此外,我有要求更新核心屬性文件。因此,如果在更新屬性文件時有任何問題,我的服務器將停止運行。僅僅因爲即使對現有單一財產的遺漏也會產生影響。所以我打算創建一個臨時文件,如果寫入成功,我將重命名爲原始文件。請讓我知道是否還有其他更好的方法。

+1

的可能重複[我怎樣才能編寫Java屬性按照定義的順序?](http://stackoverflow.com/questions/17011108/how-can-i-write-java-properties-in-a-defined-order) – Seelenvirtuose

+0

感謝您給出建議。但是,任何人都可以請回答我的問題的第二部分。 – skanda

+0

向屬性添加值後,檢查它是否具有所有必需的值而不是將其存儲在臨時文件中 – Madhan

回答

0

嘗試用以下代碼替換您的代碼,如果您有多個鍵和值,則會循環添加它們。還要確保你在FileWriter的構造函數中放置了屬性文件的正確路徑。

BufferedWriter bw = new BufferedWriter(new FileWriter("yourFile.properties", true)); 
bw.write(key + "=" + value); 
bw.newLine(); 
bw.flush(); 

propertie文件不過是一個純文本文件,真的是你的問題可以轉換爲「我如何添加文本在文件的結尾」

相關問題