为什么总是在中间添加属性

时间:2015-06-24 17:44:14

标签: java spring collections properties

我正在尝试更新属性文件,如下所示。

        Properties props = new Properties();

        FileInputStream in = new FileInputStream(filepath);
        props.load(in);
        in.close();

        FileOutputStream out = new FileOutputStream(filepath);
        props.setProperty(key, value);
        props.store(out,"fileupdated");

        out.close();

但总是我注意到新添加的属性会添加到文件中间的某些位置,我希望它只在最后添加。请告知我该如何解决这个问题。

另外,我需要更新核心属性文件。因此,如果更新属性文件时出现任何问题,我的服务器将停止运行。仅仅因为即使错过单一的现有财产也会受到影响。所以我打算创建一个临时文件,如果写成功,我将重命名为原始文件。如果还有其他更好的方法,请告诉我。

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码替换您的代码,如果您有多个键并且值进行循环以添加它们。还要确保在FileWriter的构造函数中放置属性文件的正确路径。

 BufferedWriter bw = new BufferedWriter(new FileWriter("yourFile.properties", true));
 bw.write(key + "=" + value);
 bw.newLine();
 bw.flush();

属性文件只是一个纯文本文件,实际上你的问题可以转换为"如何在文件末尾添加文本"