Contenu de First.properties
:
name=elango
country=india
phone=12345
Je veux changer country
de india
en america
. Ceci est mon code:
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();
}
}
Contenu de sortie de First.properties
:
country=america
Les autres propriétés sont supprimées. Je veux mettre à jour une valeur de propriété particulière, sans supprimer les autres propriétés.
Ouvrez le flux de sortie et stockez les propriétés après avoir fermé le flux d'entrée.
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();
Vous pouvez utiliser la bibliothèque Apache Commons Configuration . La meilleure partie si cela est, il ne sera même pas gâcher le fichier de propriétés et le conserve intact ( même les commentaires ).
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