Direkt in ein Objekt deserialisieren

Status
Nicht offen für weitere Antworten.
G

Gast_Michael

Gast
Hallo,

ich möchte ein Objekt schreiben, das sich in ein ByteArray serialisieren und aus einem ByteArray heraus wieder deserialisieren kann. Das serialisisieren ist mit ObjectOutputStream kein Problem.

Das deserialisieren bereitet mir Probleme. Die Methode readObject liefert mir ein neues Objekt zurück. Ich möchte aber ein bereits vorhandenes Objekt mit den Daten aus dem ByteArray belegen, also etwas in der Art wie:

Code:
public void restore(byte[] data) throws PriamosRuntimeException {
 ByteArrayInputStream bais = new ByteArrayInputStream(data);
 ObjectInputStream ois = new ObjectInputStream(bais);
 ois.readObject(this);
}

Jemand ne Idee?

Gruß Michael
 

SnooP

Top Contributor
hmm... könnte schwierig werden - weil dir der nun normalerweise ein neues Objekt erstellt, mit dem du dann arbeiten kannst... - schöner wär's also, wenn du dein bisheriges Objekt mit diesem neuen überschreiben könntest...

ansonsten, wenn du weißt, welches Objekt das ist und das auch immer gleich ist, schreib dir nen wrapper, der alle Werte des Objekts ausliest und in dein aktuelles mit set-Methoden befüllt...
Wenn du nicht an alle Attribute kommst (private, final), musst du mit Reflection hantieren.
 
G

Gast_Michael

Gast
Nee, ist nicht immer der selbe Datentyp, das soll die Basisklasse für ein Objekt werden, das über das Netzwerk verschickt werden kann. Von dieser Klasse werden weitere abgeleitet, die entsprechend mehr Members enthalten können.

Es wäre ja möglich, dass ich mir das Objekt temporär von readObject erstellen lasse und dann über Reflections alle Members in mein this übertrage. Das ist aber eine richtig dreckige Arbeit. Ich hatte gehofft, dass es da schon was fertiges gäbe. Bin auch nicht auf die Standardserialisierung festgelegt, wenn hier jemand ne andere Lib kennt, die das macht, ist das auch OK.

Gruß Michael
 
G

Guest

Gast
Überschreibe die readResolve-Methode
Code:
protected Object readResolve() throws java.io.ObjectStreamException
 
G

Gast_Michael

Gast
Anonymous hat gesagt.:
Überschreibe die readResolve-Methode
Code:
protected Object readResolve() throws java.io.ObjectStreamException

Prinzipiell ein guter Ansatz, aber ich kam nicht so recht weiter, da diese Methode nicht nur für das "Hauptobjekt" aufgerufen wird, sondern für alle im Stream enthaltenen Objekte.

Letztlich habe ich jetzt doch eine Clone-Methode erstellt, die über Reflections alle Members aus dem einen Objekt ins andere kopiert. War nicht so aufwendig.

Gruß Michael
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Java Code ausführen direkt nach Anmelden in Windows Allgemeine Java-Themen 2
B Applikation ohne (direkt)Java installiert zu haben auszuführen Allgemeine Java-Themen 8
N ZIp datei direkt im eclipse speichern Allgemeine Java-Themen 4
W 2D-Grafik Erstellungsdatum JPG direkt aus Header (EXIF) auslesen. Allgemeine Java-Themen 5
HarleyDavidson Input/Output Heruntergeladene Datei direkt nach dem Download öffnen ohne zu speichern Allgemeine Java-Themen 1
X Eclipse Direkt von der Soundkarte aufnehmen? Allgemeine Java-Themen 3
H Mit Ant erstelltes jar funktioniert nicht wie direkt in Eclipse Allgemeine Java-Themen 8
C Kapselung Warum graift man auf Variablen nur über Methoden und nich direkt zu? Allgemeine Java-Themen 10
J CMD direkt in Java ausführen Allgemeine Java-Themen 11
H JPanel direkt in PDF umwandeln Allgemeine Java-Themen 2
G Prozess direkt starten beim Start des Appservers Allgemeine Java-Themen 3
B ZipDatei direkt online auslesen? Allgemeine Java-Themen 8
L Speicherplatz eies RIESEN objektes direkt wieder freigeben Allgemeine Java-Themen 5
M Feld initialisieren, direkt oder Konstruktor Allgemeine Java-Themen 2
R Grafiken. direkt zeichnen Allgemeine Java-Themen 5
S Postscript Datei direkt ausdrucken? Allgemeine Java-Themen 5
S Drucker druckt nicht (Postscript direkt an Drucker) Allgemeine Java-Themen 5
S Änderungen im Source-Code direkt verwenden können? Allgemeine Java-Themen 3
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
T Objekt Array Aufgabe mit Busdatenbank Allgemeine Java-Themen 2
Maxi-JOO Klassen Dummy Objekt in anderen Constructor übergeben Allgemeine Java-Themen 5
el_niiinho13 Objekt auf der Konsole ausgeben lassen Allgemeine Java-Themen 8
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
A Objekt aus anderen Objekten machen Allgemeine Java-Themen 8
SaftigMelo In einem Winkel Objekt bewegen Allgemeine Java-Themen 2
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
H Objekt speichern und laden Allgemeine Java-Themen 1
H Objekt speichern und laden Allgemeine Java-Themen 1
J Objekt in Bytestream umwandeln Allgemeine Java-Themen 12
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
J Information von getSource() Objekt auslesen Allgemeine Java-Themen 1
Drachenbauer Wie stelle ich fest, ob ein Objekt in meinem Array vorkommt? Allgemeine Java-Themen 5
S Variable als Objekt Name Allgemeine Java-Themen 3
D Input/Output Zwischen zwei ID-Räumen unterscheiden und Objekt löschen Allgemeine Java-Themen 16
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
T Objekt in Array packen Allgemeine Java-Themen 6
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
S Neues Objekt darstellen Allgemeine Java-Themen 4
J Best Practice Objekt an alle Klassen verteilen ( Discord Bot ) Allgemeine Java-Themen 7
D Objekt-Suche mit mehreren optionalen Parametern Allgemeine Java-Themen 6
M Klassen Objekt weiter geben Allgemeine Java-Themen 1
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
S Applet Überprüfen ob ein Objekt angeklickt wurde Allgemeine Java-Themen 2
RalleYTN 3D Objekt Translation basierend auf Rotation (Probleme mit Z Rotation) Allgemeine Java-Themen 0
B Von String zu <Objekt> ||Speichern/Laden Allgemeine Java-Themen 17
G Neues Objekt aus List<JsonObject> mit Stream Allgemeine Java-Themen 4
P Threads Objekt im Konstruktor anders wie im Run()-Block Allgemeine Java-Themen 10
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
K Textdatei als Objekt Allgemeine Java-Themen 4
Viktim Classenname zu Objekt Allgemeine Java-Themen 4
P Entity Objekt Methoden vs Service methoden Allgemeine Java-Themen 2
D Datentypen Klassenattribut aus Objekt in generischer Liste Allgemeine Java-Themen 15
O Klassen Bruch im gleichen Objekt Speichern Allgemeine Java-Themen 1
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
C Liste checken auf MINDESTENS ein Objekt | Bukkit Allgemeine Java-Themen 3
K Best Practice JFrame Objekt allgemein zugänglich machen Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
D Objekt entlang eines Funktionsgraphens bewegen Allgemeine Java-Themen 6
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
D Java Objekt als Service in Runtime registrieren Allgemeine Java-Themen 1
S Interaktion mit einer website (website als Objekt?) Allgemeine Java-Themen 3
J OOP Überwachen, ob ein Objekt erzeugt wird Allgemeine Java-Themen 9
S Byte Array welches in Laufzeit aufgelöst wird // Objekt Array Allgemeine Java-Themen 3
Thallius Hash über serialisiertes Objekt? Allgemeine Java-Themen 3
Developer_X Input/Output Serialisiertes Objekt speichern und laden Allgemeine Java-Themen 1
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
F Neues Objekt aus .CSV definition Allgemeine Java-Themen 3
K Methoden Objekt wird nicht erkannt Allgemeine Java-Themen 11
P Objekt mit verschiedenen Datentypen Allgemeine Java-Themen 5
T Objekt kontaktiert seinen "erzeuger" Allgemeine Java-Themen 5
S Objekt orientierte Programmierung Allgemeine Java-Themen 7
C Objekt Datenverlust nach Methodenaufruf Allgemeine Java-Themen 9
H JavaFX Von einer Methode auf stage-Objekt zugreifen Allgemeine Java-Themen 3
T WeakReference/PhantomReference: Mitbekommen WELCHES Objekt nun GC'ed wird Allgemeine Java-Themen 2
T Class-Objekt mit URLClassloader Allgemeine Java-Themen 7
P Konsoleneingabe übernehmen und Objekt instanzieren. Allgemeine Java-Themen 5
E Auf Java-Objekt aus anderer Instanz zugreifen Allgemeine Java-Themen 26
L Klassen Polymorphie:2 Attribute gleichen Namens in einem Objekt Allgemeine Java-Themen 6
P Objekt Array in Datei Speichern Allgemeine Java-Themen 3
F Dynamisch ein Objekt einer bestimmten Subklasse erstellen Allgemeine Java-Themen 7
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
V Objekt löschen Allgemeine Java-Themen 7
A OOP Wie auf Objekt der Superklasse zugreifen? Allgemeine Java-Themen 6
S Datei in File-Objekt mit UTF-8 einlesen Allgemeine Java-Themen 2
M neues Objekt speichern, nicht Referenz Allgemeine Java-Themen 10
B synchronisierter zugriff auf Objekt Allgemeine Java-Themen 6
F Objekt einer Datei verschieben, aber Verzeichnispfad fehlt Allgemeine Java-Themen 6
C Objekt Typ herausfinden Allgemeine Java-Themen 5
E Objekt beim Erzeugen in ArrayList Allgemeine Java-Themen 9
M Objekt prüfen auf null ->Invocation Target Exception??? Allgemeine Java-Themen 2
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
D Eigenen Objekt Pool Allgemeine Java-Themen 15
C blueJ: Objekt wird nicht in Objektleiste angezeigt Allgemeine Java-Themen 8
T Objekt 2x deserialisieren, aber nur 1x im Heap haben? Allgemeine Java-Themen 4
sambalmueslie Benachrichtigung bei neuer Objekt-Instanz Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben