【问题标题】:JAVA Rewrite/store only specified key value of propertiesJAVA重写/仅存储属性的指定键值
【发布时间】:2015-02-02 11:41:42
【问题描述】:

假设我有属性文件test.properties

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

key1=value1
key2=value2
key3=value3

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

这可能吗?

我可以实现一些库的任何实现吗?

【问题讨论】:

    标签: java properties


    【解决方案1】:
        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");
    

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

    【讨论】:

    • 是的,这其实不是我的意思
    【解决方案2】:

    java.util.prefs.Preferences

    编辑:

    这是一个 Java 实用程序类,它可以执行您想要的操作——存储键/值对(仅将字符串作为键),而无需(重新)写入它们的整个文件来更改一个值。 Java 已通过依赖于系统的支持来实现它们,因此它们是可移植的。

    【讨论】:

    • 好的,OP 在查看java.util.prefs.Preferences具体必须注意什么?
    猜你喜欢
    • 2019-05-20
    • 2017-05-02
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    相关资源
    最近更新 更多