JAXB: Mehrmals abspeichern

  • Themenstarter Themenstarter Jakob R
  • Beginndatum Beginndatum
J

Jakob R

Gast
Hallo,
ich speichere XML-Files mit JAXB ab:
Java:
private final Writer outputWriter = new FileWriter("dasXMLFile");
private final Marshaller marshaller = JAXBContext.newInstance("das.package").createMarshaller();

public void save(JAXBElement<Root> dasXMLFile)
{
    marshaller.marshal(dasXMLFile, outputWriter);
}

Was auch wunderbar funktioniert.

Da mein Programm sehr lange arbeitet und viele Teilschritte macht, will ich die XML-File nach jedem fertigen Teilschritt abspeichern.
Nun habe ich allerdings das Problem, dass mir der marshaller bei jeder Speicherung das komplette XML hinten an das aktuelle File dran hängt.
Entweder soll er jedes Mal die komplette Datei überschreiben oder er soll die neuen Elemente dazwischen schieben.
Habt ihr dafür eine gute Lösung, ohne dass ich jedes Mal einen neuen FileWriter aufmachen muss, damit er sie überschreibt?

Danke für eure Hilfe.
 
Hallo,
ja so würde es gehen. Da ich mir den Writer allerdings über den Konstruktor geben lasse hätte ich es gut gefunden, wenn man es irgend wie direkt mit einem Trick zurücksetzen hätte können.
 
Java:
private final Writer outputWriter = new FileWriter("dasXMLFile", false);

Dann wird nicht appended 😉
 

Neue Themen


Zurück
Oben