Java:将值附加到属性键

时间:2015-08-02 07:42:25

标签: java file io

我使用java.util.Properties在文件中存储属性。我可以使用以下代码成功存储键/值对:

readNullable

但是,我有兴趣更新(不替换)以前的属性,以便稍后可以将它们作为数组检索。

例如,我当前的属性看起来像这样:

public String setKeyValue(String dir, String key, String value) throws FileNotFoundException, IOException
{
    File file = new File(dir);


    FileInputStream in = new FileInputStream(file);
    Properties properties = new Properties();
    properties.load(in);
    in.close();

    FileOutputStream out = new FileOutputStream(file);
    properties.setProperty(key, value);
    properties.store(out, null);
    out.close();

    String myValue = (String) properties.getProperty(key);
    System.out.println (myValue);
    return myValue;
}

我想将其更改为

email=email1 

这样我以后可以按如下方式检索它们:

email=email1, email2 //(this will be a continuous process of adding more emails)

如果您使用之前的代码,它只是替换该属性。我需要附加额外的"值"关键..

1 个答案:

答案 0 :(得分:1)

嗯,最简单的方法就是这样做......

+00:00

当然,这不是很优雅,所以我个人可能会从String oldValue = properties.getProperty( key ); String newValue = "bla something"; String toStore = oldValue != null ? oldValue + "," + newValue : newValue; properties.setProperty( key, value ); 扩展我自己的AppenderProperties课程,然后添加Properties方法。这也是放置所有与数组相关的方法的好地方,这样你就可以从键中删除特定的值等。