Komponenten binär in Datei schreiben

Status
Nicht offen für weitere Antworten.

Ariol

Top Contributor
Hi,

Ist es möglich eine Komponente (z.B. einen JButton) binär in eine Datei zu schreiben, um ihn dann wieder zu laden?

Über Sinn und Zweck der Aktion mag man streiten, aber es würde in einem Fall alles einfacher machen.


Habs schon mit verschiedenen Writern und Streams versucht, aber bisher ohne Erfolg.



Danke schonmal für Lösungen, Ideen & Vorschläge.

lg
Ariol
 
dachte an ein ByteArray..

wenns irgendwie funktioniert wär mir das auch recht, der inhalt der datei ist eigentlich egal
 
Dann hau das Ding mit einem ObjectOutputStream raus.
Auf ein byte[] läuft letztlich alles raus, ist lediglich eine Frage der Interpretation der bytes.
 
ObjectOutputStream hab ich schon versucht, aber der will meine JButton nicht so,
Und parsen auf char[] oder byte[] geht mit JButton auch nicht.

Also, ich will den Button in eine Datei schreiben und dann an einer anderen Stelle wieder einlesen, also müsste es auch möglich sein, das eingelesene wieder zu einem JButton zu parsen.

Ich weiss es ist strange, aber wäre ganz praktisch in diesem Fall
 
Es geht darum (ich bin der Adressat) eine JTextPane aus einem Editor der Html-Ähliche Seiten editieren lässt (Text und Bild) in eine binäre Datei zu packen, scheißegal welches Format und wie groß! Hauptsache die textPane kann dann wieder sauber geladen werden!
 
Code:
		try 
		{
			ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("Test.button")));
			oos.write(new JButton("test"));
		}
		catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

Das ghet nicht...
 
Ums nochmal einfacher zu erklären:

Komponente > Datei
Writer.write("button", "test.but");//<<Pseudo



Datei > Komponente
JButton button = Reader.read("test.but");//<<Pseudo
 
ok, habs:
Code:
		XMLEncoder e = null;
		try {
			e = new XMLEncoder(
			        new BufferedOutputStream(
			            new FileOutputStream("Test.xml")));
		} catch (FileNotFoundException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		e.writeObject(new JButton("Hello, world"));
		e.close();
Code:
<?xml version="1.0" encoding="UTF-8"?> 
<java version="1.6.0" class="java.beans.XMLDecoder"> 
 <object class="javax.swing.JButton"> 
  <string>Hello, world</string> 
 </object> 
</java>
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben