StyledDocument dauerhaft speichern

Status
Nicht offen für weitere Antworten.

dirty-mg

Bekanntes Mitglied
Hallo liebes Forum,

ich benutze ein StyledDocument, um formatierten Text anzuzeigen. Jetzt möchte ich das StyledDocument speichern (Datei oder Datenbank), um es später weiter verwenden zu können. Wenn ich das StyledDocument serialisiere, kann ich es nur in der gleichen Java-Version wieder einlesen. Es wurde in Java 1.4.2 erstellt und muss in Java 1.6 eingelesen werden. Gibt es eine Möglichkeit, das StyledDocument so zu speichern, dass es in allen Java-Versionen >= 1.4 eingelesen werden kann? Ich hab was von XMLEncoder gelesen. Leider hat das Beispiel bei mir nicht geklappt.

Vielen Dank im Voraus.
Marcus
 
Code:
...
    private StyledDocument doc;
...
        //im Konstruktor:
        try {
            doc = deSerialize();
            textpane.setStyledDocument(doc);
        } catch (FileNotFoundException ex) {
            doc = textpane.getStyledDocument();
        }
...
        //wann immer du speichern willst:
        serialize(doc);
...
    private static void serialize(StyledDocument sd){
        try{
            XMLEncoder o = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("sd.ser.xml")));
            o.writeObject(sd);
            o.close();
        }catch( IOException e){
            e.printStackTrace();
        }
    }
    private static StyledDocument deSerialize() throws FileNotFoundException{
        XMLDecoder d = null;
        d = new XMLDecoder(new BufferedInputStream(new FileInputStream("sd.ser.xml")));
        Object result = d.readObject();
        d.close();
        return (StyledDocument)result;
    }
...
 
Das habe ich auch schon probiert. Stand ja so in der Java API Doc. Leider speichert er das StyledDocument ohne Inhalt... Kann danach zwar ein StyledDocument wieder deserialisieren, aber der komplette Inhalt (Text) des Dokumentes fehlt ...
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben