2015-07-10 4 views
9

Ich habe eine Anforderung, wo ich den Wert in der Eigenschaftendatei schreiben/aktualisieren möchte, verwende ich die meine Feder-Anwendung.Write/Update Eigenschaften Datei Wert im Frühjahr

Ich habe es gegooglet, aber ich habe keinen direkten Weg gefunden, es mit Spring zu tun.

Weiß jemand, wie man es macht, oder gibt es den besten Weg, es zu tun?

Vielen Dank im Voraus.

Antwort

12

Sie können das wie folgt erreichen:

public void saveParamChanges() { 
    try { 
    // create and set properties into properties object 
    Properties props = new Properties(); 
    props.setProperty("Prop1", "toto"); 
    props.setProperty("Prop2", "test"); 
    props.setProperty("Prop3", "tata"); 
    // get or create the file 
    File f = new File("app-properties.properties"); 
    OutputStream out = new FileOutputStream(f); 
    // write into it 
    DefaultPropertiesPersister p = new DefaultPropertiesPersister(); 
    p.store(props, out, "Header COmment"); 
    } catch (Exception e) { 
    e.printStackTrace(); 
    } 
} 

source

EDIT: aktualisiert mit dem defaultPropertiesPersiter von org.springframework.Util

+3

Danke für die Antwort. Aber das weiß ich. Ich möchte es nur im Frühling mit einer Methode machen. –

+0

@Yogesh ist das, was du mit der Federmethode meinst? – Deh

+2

@Yogesh, das Javadoc für [DefaultPropertiesPersister] (http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/DefaultPropertiesPersister.html) lautet: "Ab JDK 1.6, Properties .load/store wird auch für Leser/Schreiber verwendet, wodurch diese Klasse effektiv in einen einfachen Abwärtskompatibilitätsadapter umgewandelt wird ", so dass sogar Spring keine Spring-only-Methode verwendet ... sie verwendet die JDK-Methode. Du solltest Dehs Antwort akzeptieren. – Paul