好的,所以我知道这行的价值,我没有行号,我怎么只编辑一行?
它是一个配置文件,即 X = Y 我想要一个命令来编辑x = y到x = y,z。
甚至x = z。
答案 0 :(得分:2)
如果您使用的是配置格式,则可能需要使用
java.util.Properties
要读取/写入该文件的组件。
但是如果您只是想手动编辑它,您只需read the file line by line并匹配您想要更改的变量。
答案 1 :(得分:2)
在Java中,您可以使用`属性类:
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);
}
答案 2 :(得分:1)
一种方法是:
这有很多变化。在编写新版本的文件时还需要注意,以防止在写入过程中出现问题时丢失所有内容。 (通常,您将新版本写入临时文件,将旧版本重命名(例如作为备份)并重命名新版本以代替旧版本。)
不幸的是,在没有重写文件的大部分内容的情况下,无法在常规文本文件的中间添加或删除字符。这个“问题”并不特定于Java。它是在大多数主流操作系统上建模/表示文本文件的方式的基础。
答案 3 :(得分:0)
除非新线的长度与旧线完全相同,否则最好的选择是
如果您的配置文件很小,您也可以在内存中执行整个解析/修改步骤,然后将最终结果写回配置文件,这样就可以跳过临时文件(虽然临时文件是一个好方法如果在写文件时出现问题,请防止损坏。)
如果这不是您想要的,那么您应该更清楚地编辑您的问题。我只想猜你要的是什么。
答案 4 :(得分:0)
如果您的数据是所有键和值对,例如......
键1 =值
键2 =值
...然后将它们加载到Properties对象中。在我的脑海中,您需要一个FileInputStream来加载属性,使用myProperties.put(key,value)进行修改,然后使用FileOutputStream保存属性。
希望这有帮助!
RH