我正在运行几个测试,并在每个测试中写入属性文件。我成功地能够写入属性文件,但每次都会更新文件,并删除我存储在其中的先前值。 如何在不从文件中删除先前的键值的情况下写入属性文件。 下面是我用来写入属性文件
的代码public static void writeToPropertyFile(String user, String aToken) {
try {
Properties props = new Properties();
props.setProperty(user, aToken);
FileWriter f = new FileWriter("csos.properties");
props.store(f,"token");
}
catch (Exception e ) {
e.printStackTrace();
}
}
答案 0 :(得分:1)
一种解决方案可能是读取文件并将其内容放入Properties
对象。更新此对象。然后将对象重新写入文件。
像这样:
Properties props = new Properties();
props.load(new FileInputStream("file.properties"));
// work on props
FileOutputStream output = new FileOutputStream("file.properties");
props.store(output, "This is overwrite file");
答案 1 :(得分:1)
您可以先读取属性文件(如果存在)进行更改,然后保存。
try {
File file = new File("csos.properties");
Properties props = new Properties();
if (file.exists()) {
props.load(new FileReader(file));
}
props.setProperty(user, aToken);
FileWriter f = new FileWriter(file);
props.store(f,"token");
}
catch (Exception e ) {
e.printStackTrace();
}