2011-09-27 77 views
7

是否可以在运行时创建新的属性文件并添加键和值? 我想在安装我的应用程序时根据用户输入将新密钥添加到属性文件。我检出了Java Properties类,但它似乎可以将值设置为现有密钥,但不能将新密钥添加到属性文件。Java - 属性:在运行时向属性文件添加新的键?

+2

另请参阅[更好的类来更新属性文件(HTTP://计算器。 com/questions/565932/a-better-class-to-update-property-files) –

回答

13

您可以通过使用当前不存在的键调用setProperty来添加新属性。这只会做它在内存虽然 - 你必须再次调用store以反映更改回文件:

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

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

即使我存储属性发生变化,它的反映也没有反​​映出来吗? –

+0

@PremanandK:恐怕我根本不理解你的评论。也许你应该用[mcve]问一个新问题。 –

+0

我将我的属性更改保存为“prop.store(...);”,但没有反映。即。我没有看到我的属性文件中的更改。感谢回复@Jon Skeet –