JAVA仅重写/存储属性的指定键值

时间:2015-02-02 11:41:42

标签: java properties

假设我有属性文件test.properties

已经定义了一些键/值对,例如:

key1=value1
key2=value2
key3=value3

我在内存中更改了这些属性的一些值(假设只有一个键的值)。我想将更改存储到属性文件中,但实际上只存储了更改的键/值=>不要重写整个文件。

这可能吗?

我可以实现某些库的实现吗?

2 个答案:

答案 0 :(得分:0)

查看java.util.prefs.Preferences

编辑:

这是一个Java实用程序类,可以执行您想要的操作 - 存储键/值对(仅作为键的字符串),而不必(重新)写入它们的整个文件来更改一个值。 Java已经使用系统相关的支持实现它们,因此它们可以移植。

答案 1 :(得分:0)

    String fileName = "C:\\test\\test.txt";
    File f = new File(fileName);
    InputStream is = new FileInputStream(f);
    Properties p = new Properties();
    p.load(is);
    p.setProperty("key3","value4");
    OutputStream os = new FileOutputStream(f);
    p.store(os,"comments");

但我认为这会覆盖整个属性文件。