First.properties
的内容:
name=elango
country=india
phone=12345
我希望从country
更改india
到america
。这是我的代码:
import java.io.*;
public class UpdateProperty
{
public static void main(String args[]) throws Exception
{
FileOutputStream out = new FileOutputStream("First.properties");
FileInputStream in = new FileInputStream("First.properties");
Properties props = new Properties();
props.load(in);
in.close();
props.setProperty("country", "america");
props.store(out, null);
out.close();
}
}
First.properties
的输出内容:
country=america
删除其他属性。我想更新特定的属性值,而不删除其他属性。
答案 0 :(得分:92)
关闭输入流后打开输出流并存储属性。
FileInputStream in = new FileInputStream("First.properties");
Properties props = new Properties();
props.load(in);
in.close();
FileOutputStream out = new FileOutputStream("First.properties");
props.setProperty("country", "america");
props.store(out, null);
out.close();
答案 1 :(得分:18)
您可以使用Apache Commons Configuration库。 如果这是最好的部分,它甚至不会弄乱属性文件并使其保持完整(even comments)。
PropertiesConfiguration conf = new PropertiesConfiguration("propFile.properties");
props.setProperty("key", "value");
conf.save();
答案 2 :(得分:8)
Properties prop = new Properties();
prop.load(...); // FileInputStream
prop.setProperty("key", "value");
prop.store(...); // FileOutputStream