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
他のプロパティは削除されます。他のプロパティを削除せずに、特定のプロパティ値を更新したい。
入力ストリームを閉じた後、出力ストリームを開いてプロパティを保存します。
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();
Apache Commons Configuration libraryを使用できます。これが最良の部分である場合、プロパティファイルを台無しにせず、そのまま保持します( even comments )。
PropertiesConfiguration conf = new PropertiesConfiguration("propFile.properties");
props.setProperty("key", "value");
conf.save();
Properties prop = new Properties();
prop.load(...); // FileInputStream
prop.setProperty("key", "value");
prop.store(...); // FileOutputStream