[英]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.