从属性文件中删除条目

时间:2013-03-06 07:13:49

标签: java properties properties-file

如何从属性文件中删除键和值?我的属性文件包含以下内容:

key1=value1 
key2=value2

我使用以下代码删除条目key2=value2。之后,现在该文件具有以下值:

key1=value1 
key2=value2
Wed Mar 06 12:36:32 IST 2013 
key1=value1

删除条目的java代码:

FileOutputStream out1 = new FileOutputStream(file, true);
prop.remove(key);
prop.store(out1,null);

我在做什么错。如何在编写之前清除文件的全部内容。

1 个答案:

答案 0 :(得分:7)

1)属性文件内容应如下所示:

key1=value1
key2=value2

2)你是在追加模式下打开文件,这是错误的。它应该是:

new FileOutputStream(file); 

3)显式关闭out1,Properties.store API:

  

此方法返回后输出流保持打开状态。

如果您不想使用Properties.store,可以直接编写属性

PrintWriter pw = new PrintWriter("test.properties");
for(Entry e : props.entrySet()) {
    pw.println(e);
}
pw.close();