[英]In java, how do i edit 1 line of a text file?
好的,所以我知道線的價值,我沒有行號,我怎么只編輯1行?
它是一個配置文件,即x = y我想要一個命令來編輯x = y到x = y,z。
甚至x = z。
在Java中,您可以使用`Properties類:
app.config文件:
x=y
Java的:
public void writeConfig() throws Exception {
Properties tempProp = new Properties();
tempProp.load(new FileInputStream("app.config"));
tempProp.setProperty("x", "y,z");
tempProp.store(new FileOutputStream("app.config"), null);
}
一種方法是:
這有很多變化。 在編寫新版本的文件時還需要注意,以防止在寫入過程中出現問題時丟失所有內容。 (通常,您將新版本寫入臨時文件,將舊版本重命名(例如作為備份)並重命名新版本以代替舊版本。)
不幸的是,如果不重寫文件的大部分內容,就無法在常規文本文件的中間添加或刪除字符。 這個“問題”並不特定於Java。 它是在大多數主流操作系統上建模/表示文本文件的方式的基礎。
除非新線的長度與舊線完全相同,否則最好的選擇是
如果您的配置文件很小,您還可以在內存中執行整個解析/修改步驟,然后將最終結果寫回配置文件,這樣就可以跳過臨時文件(盡管臨時文件是防止損壞的好方法如果你在寫文件時出現問題)。
如果這不是您想要的,那么您應該更清楚地編輯您的問題。 我只想猜你要的是什么。
如果您的數據是所有鍵和值對,例如......
鍵1 =值
鍵2 =值
...然后將它們加載到Properties對象中。 在我的腦海中,您需要一個FileInputStream來加載屬性,使用myProperties.put(key,value)進行修改,然后使用FileOutputStream保存屬性。
希望這可以幫助!
RH
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.