2 Stimmen

Zustand durch Überschreiben einer Eigenschaftsdatei speichern

Ich verwende eine Java-Eigenschaften-Datei, um einige Config-Informationen zu speichern, auf Objekt-Erstellung lade ich diese Informationen, dann an bestimmten Punkten in der Lebensdauer der Objekte, die ich die Werte in der Eigenschaften-Datei überschreiben möchten, so dass das nächste Mal ein Objekt dieses Typs instanziiert wird es mit aktuellen Informationen konfiguriert ist. die setProperty-Methode scheint nicht dies zu tun, und wenn ich die Store-Methode verwenden es nur eine neue (aktualisiert) Kopie der Datei an das Ende des Originals anhängt. Irgendwelche Ideen?

Danke

5voto

Jon Skeet Punkte 1325502

setProperty wird dies sicherlich nicht automatisch tun (es sei denn, Sie verwenden Ihren eigenen Typ, der dies außer Kraft setzt).

store sollte in Ordnung sein - aber meine Vermutung ist, dass Sie einen Ausgabestream (oder Writer) zum Anhängen und nicht zum Überschreiben öffnen. Halten Sie den Ausgabestrom die ganze Zeit offen? Oder verwenden Sie vielleicht new FileOutputStream(path, true) was wird angehängt? Ohne uns einen Code zu zeigen, ist es schwer zu wissen, was Sie falsch machen.

Wie WizardOfOdds sagt, ist die Einstellungs-API ist vielleicht von vornherein die bessere Idee.

1voto

Mahesh Gupta Punkte 915

Warum versuchen Sie nicht, Ihre Objekte zu serialisieren und zu speichern, wenn Sie wollen. Mit serialisierbaren Objekten können Sie einfach den Zustand eines Objekts speichern, wann immer Sie wollen. Und wenn Sie es das nächste Mal laden wollen, können Sie es aus der Datei lesen und das Objekt mit diesem Wert initialisieren... Besuchen Sie diese Seite: http://java.sun.com/j2se/1.4.2/docs/guide/serialization/index.html

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X