Text formatiert abspeichern

dreamerli

Grünschnabel
Hallo zusammen

Zuerst ein mal, ich bin ein Anfänger in Java! Also nehmt es mir nicht übel wenn die Frage dumm ist ;)

Ich schreibe für eine Abschlussprüfung einen Editor selber, mit welchem man dann schlussendlich den Text beliebig formatieren kann.

Nun muss ich natürlich den Text auch formatiert abspeichern, damit er nacher wieder gleich angezeigt werden kann.

Nun, wie speichere ich den Text und wie lese ich ihn wieder heraus?

Liebe Grüsse und besten Dank
dreamerli

PS: Ich hoffe die Frage wurde nicht schon einmal beantwortet. ich habe keine nützliche Antwort gefunden.
 
Also du stellst dir das ungefähr wie WordPad unter Windows vor, wo do einfache Formatierungen vornehmen kannst und im *.doc oder ein anderes Format abspeicherst.

Also, ich habe selbst nie an einem ähnlichen Projekt gearbeitet, aber ich würde entweder über XML ein eigenes Format entwerfen. Im Klartext den Text in XML Dateien abspeichern mit Attributen wo Schriftgröße, Farbe etc. enthalten sind.

Oder du experimentierst mit den vorhanden Java-Klassen, ich glaube die Swing-Klasse JEditorPane könnte dir dort weiterhelfen.

Aber wie gesagt, ich spekuliere hier auf Vermutungen und kann nur sagen wie ich evtl. die Sache angehen würde.

Zusatz: hab ich gerade weiter unten gefunden, vielleicht auch für dich interesant...
Thread 160687
 
Zuletzt bearbeitet:
als einfachstes und flexibelstes dürfte sein, deinen Text in eigenem XML-Dialekt zu speichern/laden. Dann hast du gleich die Parser-Klassen dabei.

Um eine "eigene" Sprache für die Formatierungen wirst du nicht drum herum kommen - das kann in XML geschehen oder auch anders. Ein anderer Ansatz wäre Text und Formatierung getrennt zu speichern, z.B. 2 Byte für das Uni-Code zeichen und 2 Byte für die Formatierung des Zeichens, wobei die Formatierung des Zeichens dann z.B. so aussschaut:

bit 0-7 Farbe Vordergrund
bit 8-15 Farbe Hintergrund
bit 16 kursiv ja/nein
bit 17 fett ja/nein
bit 24-31 Schriftgröße

Die Formatierungsanweisungen können dann mit dem Text verschränkt (z.B. ZFZFZFZF mit Z=Zeichen, F=Format) oder getrennt voneienander (ZZZFFF) gespeichert werden.
Um das ganze dann noch platzsparender zu machen kannst du alles noch duch einen ZipStream jagen.

Bei XML musst du deine eigene XML-Konforme Sprache definieren und ähnlich wie bei HTML mit speichern (beispiel siehe auch Latex/TeX u.ä. )

Viel Spaß
 
Zurück