# JAXB: Mehrmals abspeichern



## Jakob R (30. Apr 2012)

Hallo,
ich speichere XML-Files mit JAXB ab:

```
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.


----------



## Käsekuchen (30. Apr 2012)

Dem FileWriter einfach ein new File() mit gleichem Namen geben?


----------



## Jakob R (30. Apr 2012)

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.


----------



## fastjack (30. Apr 2012)

```
private final Writer outputWriter = new FileWriter("dasXMLFile", false);
```

Dann wird nicht appended


----------

