Java - Properties:如何在运行时向属性文件中添加新键?

11

在运行时创建一个新的属性文件,并添加键和值,这是可能的吗? 我想根据用户输入在安装我的应用程序时添加新的键到属性文件中。我查看了Java Properties类,但它似乎只能为现有的键设置值,而不能向属性文件中添加新的键。


2
另外请参阅更新属性文件的更好类 - Miserable Variable
1个回答

14

你可以通过调用setProperty并使用当前不存在的键来添加新属性。然而,这只会在内存中进行 - 你需要再次调用store将更改反映回文件:

Properties prop = new Properties();
prop.load(...); // FileInputStream or whatever

prop.setProperty("newKey", "newValue");
prop.store(...); // FileOutputStream or whatever

1
即使我存储了属性更改,它仍然没有反映出来,有任何想法吗? - Premanand K
@PremanandK:恐怕我完全不理解你的评论。也许你应该用 [mcve] 提出一个新问题。 - Jon Skeet
我将我的属性更改保存为“prop.store(...);”,但没有反映出来。也就是说,我在属性文件中没有看到我的更改。感谢@Jon Skeet的回复。 - Premanand K
@PremanandK:请再提一个带有 [mcve] 的新问题,这样我们才能重现它。仅凭一句话的描述,我肯定无法确定出错了什么。 - Jon Skeet
http://stackoverflow.com/questions/38797349/在Java中存储属性文件后未反映更改 - 提出的问题。 - Premanand K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接