Serialisierung erstes Beispiel

Status
Nicht offen für weitere Antworten.

Mark110

Bekanntes Mitglied
Code:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;


public class Auto implements Serializable {

	String farbe;
	int reifen;
	int tueren;
	
	
	public Auto(String farbe, int reifen, int tueren) {
		this.farbe = farbe;
		this.reifen = reifen;
		this.tueren = tueren;
	}
	
	
	
	
	public static void main(String[] args) {
		try {
			ObjectInputStream in = new ObjectInputStream(new FileInputStream("MeineObjekte.obj"));
			try {
				Auto auto = (Auto) in.readObject();
				System.out.println(auto.getFarbe());
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	
	}




	public String getFarbe() {
		return farbe;
	}




	public void setFarbe(String farbe) {
		this.farbe = farbe;
	}




	public int getReifen() {
		return reifen;
	}




	public void setReifen(int reifen) {
		this.reifen = reifen;
	}




	public int getTueren() {
		return tueren;
	}




	public void setTueren(int tueren) {
		this.tueren = tueren;
	}
	
	
}

java.io.InvalidClassException: Auto; local class incompatible: stream classdesc serialVersionUID = 7796366684207450100, local class serialVersionUID = -210223322502546621
at java.io_ObjectStreamClass.initNonProxy(Unknown Source)
at java.io_ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io_ObjectInputStream.readClassDesc(Unknown Source)
at java.io_ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io_ObjectInputStream.readObject0(Unknown Source)
at java.io_ObjectInputStream.readObject(Unknown Source)
at Auto.main(Auto.java:28)


Ich verstehe nicht was ich falsch gemacht habe... die datei existiert im übrigen.
 

musiKk

Top Contributor
Ja, aber vermutlich hast du die Definition deiner Klasse veraendert, darum stimmen die Versionsnummern nicht mehr ueberein.
 

FArt

Top Contributor
TomBola hat gesagt.:
genau so ist es... :)

kann mir mal jemand nenn prkatischen einsatz vom serialisieren nennen?

Der Ansatz ist richtig... aber wenn du Objekte (inkompatibel) änderst, wird es schwer diese zu vermischen. Wenn du sie kompatibel änderst, dann musst du die svUID implementieren (gleich natürlich) und für Kompatibilität sorgen. Unter Umständen muss man dazu die Methoden readObject und writeObject überschreiben.

Alternativ kann man auch andere Arten der Serialisierung einsetzen, z.B. XML... aber das Problem an sich (alte und neue Version des Objekts) bleibt dabei gleich...
 
G

Gelöschtes Mitglied 5909

Gast
Externalizable ist auch ganz praktisch, da musst du die methoden überschreiben und es bringt auch einiges an speed

für Objekte die null sind kannst du z.B. n Boolean / Byte schreiben

Code:
	class Polygon implements Externalizable {
		Point	first;

		public void writeExternal( ObjectOutput out ) throws IOException {
			if ( first == null )
				out.writeByte(0);
			else
				out.writeByte(1);
			Point next = first;
			while ( next != null ) {
				out.writeObject(next);
				next = next.next;
			}
		}

		public void readExternal( ObjectInput in ) throws IOException,
				ClassNotFoundException {
			byte b = in.readByte();
			if ( b == 0 ) {
				first = null;
				return;
			}
			// Einlesen der serialisierten Punkte
			Point next;
			first = (Point) in.readObject();
		}
	}


http://java.sun.com/developer/TechTips/2000/tt0425.html
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Problem mit der Serialisierung Java Basics - Anfänger-Themen 31
M Serialisierung in Java Java Basics - Anfänger-Themen 10
S Serialisierung: Laden von Objekten - Risiken? Java Basics - Anfänger-Themen 4
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
I Input/Output Alternative zur Serialisierung/ ImageJ Objecte Java Basics - Anfänger-Themen 7
W Nullpointer bei Objekt Serialisierung mit ArrayList<byte[]> etc. Java Basics - Anfänger-Themen 2
V Java Serialisierung Java Basics - Anfänger-Themen 2
O Objekt Listen serialisierung und deserialisieren Java Basics - Anfänger-Themen 5
U Serialisierung Probleme bei Umsetzung Java Basics - Anfänger-Themen 26
V Serialisierung Umbennung einer Klasse Java Basics - Anfänger-Themen 2
G Input/Output Serialisierung oder Datenbank Java Basics - Anfänger-Themen 6
K Input/Output Serialisierung Java Basics - Anfänger-Themen 7
P Serialisierung - Objekte vergleichen Java Basics - Anfänger-Themen 4
J Input/Output Serialisierung Java Basics - Anfänger-Themen 6
K Serialisierung: speichern und auslesen, auslesen klappt nicht Java Basics - Anfänger-Themen 14
B Std-Serialisierung - Speichern/Laden geht nur auf einem Rechner Java Basics - Anfänger-Themen 17
W Problem mit Serialisierung von jTable Java Basics - Anfänger-Themen 15
E Serialisierung - Exception? Java Basics - Anfänger-Themen 21
T Collections (De)-Serialisierung meines HashSets Java Basics - Anfänger-Themen 3
J Input/Output Serialisierung Java Basics - Anfänger-Themen 6
W Problem mit Serialisierung und TableModel Java Basics - Anfänger-Themen 3
F Sonderzeichen bei XML Serialisierung nicht konvertieren Java Basics - Anfänger-Themen 7
O Serialisierung: Object abspeichern und aufrufen Java Basics - Anfänger-Themen 6
L Java Serialisierung Singleton Java Basics - Anfänger-Themen 6
Luk10 Serialisierung bei schon vorhandener Datei Java Basics - Anfänger-Themen 15
I Serialisierung ClassNotFound Java Basics - Anfänger-Themen 8
S serialisierung Java Basics - Anfänger-Themen 3
E Alternativen zur binären Serialisierung ? Java Basics - Anfänger-Themen 9
J Serialisierung - Array-Objekt serialisieren/deserialisieren Java Basics - Anfänger-Themen 6
G Frage zu Serialisierung Java Basics - Anfänger-Themen 4
A Per Serialisierung speichern Java Basics - Anfänger-Themen 2
DStrohma Problem mit Serialisierung Java Basics - Anfänger-Themen 3
T Threads und Serialisierung Java Basics - Anfänger-Themen 4
Z Serialisierung vs. Sicherheit Java Basics - Anfänger-Themen 2
R Serialisierung von Objekten Java Basics - Anfänger-Themen 12
S Serialisierung Java Basics - Anfänger-Themen 8
G Objekt Serialisierung Java Basics - Anfänger-Themen 3
P Serializable - Serialisierung Java Basics - Anfänger-Themen 5
P Collection Vector speichern mittels Serialisierung? Java Basics - Anfänger-Themen 2
Alen123 Erstes Arbeiten mit Methoden. Java Basics - Anfänger-Themen 5
Igig1 Autoparkplatz verkettete Liste erstes und letztes Auto Java Basics - Anfänger-Themen 13
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
I Letztes, erstes Element vom Array Java Basics - Anfänger-Themen 9
X Array erstes und letztes Element tauschen Java Basics - Anfänger-Themen 2
J erstes Vorkommen eines Chars aus einem String entfernen Java Basics - Anfänger-Themen 3
J erstes Vorkommen eines chars entfernen Java Basics - Anfänger-Themen 1
O Erstes Programm: Matrizen Multiplikation Java Basics - Anfänger-Themen 10
H java erstes projekt Java Basics - Anfänger-Themen 502
M OOP Mein erstes Textadventure... Java Basics - Anfänger-Themen 3
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
D Auswahl und Ausgabe erstes Programm Java Basics - Anfänger-Themen 8
M Mein erstes Programm Java Basics - Anfänger-Themen 3
V Erste Schritte Erstes Project - Hilfe Java Basics - Anfänger-Themen 9
T erstes kleines Programm Java Basics - Anfänger-Themen 17
M Erste Schritte Erstes Programm mit Compiler öffnen Java Basics - Anfänger-Themen 4
M Mein erstes Java Programm Java Basics - Anfänger-Themen 5
J Erstes Applet läßt sich nicht anzeigen Java Basics - Anfänger-Themen 2
E Erstes "kleines" Programm Java Basics - Anfänger-Themen 5
M Erstes Textrollenspiel funktioniert...nicht. Java Basics - Anfänger-Themen 2
L Erstes Projekt aus zwei Projekten Java Basics - Anfänger-Themen 1
T mein erstes Java projekt Java Basics - Anfänger-Themen 8
1 Mein erstes Programm, HELP!! Java Basics - Anfänger-Themen 2
T OOP Mein erstes Java-Spiel - Schiffe versenken! Java Basics - Anfänger-Themen 2
M Erstes Prog. OS Abfrage Java Basics - Anfänger-Themen 9
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28
A Erstes Programm: Polynom-Klasse Java Basics - Anfänger-Themen 15
B Erstes Element eines Vectors erhalten Java Basics - Anfänger-Themen 5
D Mein erstes Programm flackert Java Basics - Anfänger-Themen 5
W Erste Schritte erstes Programm Java Basics - Anfänger-Themen 40
A Textdatei einlesen - erstes Zeichen falsch Java Basics - Anfänger-Themen 20
I Liste Remove erstes Element Java Basics - Anfänger-Themen 5
W Erstes eigens Programm - Klassen- und Schüler Verwaltungsprogramm Java Basics - Anfänger-Themen 5
M Erstes "sinnvolles" Programm Java Basics - Anfänger-Themen 11
A Erstes Programm - Problem beim Ausführen als jar Java Basics - Anfänger-Themen 3
B Methoden Mein erstes Programm - und gleich Probleme Java Basics - Anfänger-Themen 6
J Bald erstes Java Buch durchgearbeitet - Wie gehts nun weiter? Java Basics - Anfänger-Themen 6
R [CODECHECK] Erstes Programm Java Basics - Anfänger-Themen 6
T Erstes Zeichen aus String löschen Java Basics - Anfänger-Themen 8
J erstes Prog./Klasse - Konstruktur/Objekterstellung funktioniert nicht Java Basics - Anfänger-Themen 25
M Erstes Programm und Fehlermeldung Java Basics - Anfänger-Themen 5
B erstes Java-Applet Java Basics - Anfänger-Themen 7
M Erstes Zeichen in einem String in Großbuchstaben wandeln Java Basics - Anfänger-Themen 3
M Sammlung von Anfängerfragen für mein erstes Programm Java Basics - Anfänger-Themen 15
C Erstes Arraylist Element in for Schleife überspringen Java Basics - Anfänger-Themen 6
G Erstes Java-Programm Java Basics - Anfänger-Themen 10
E Erstes Programm - Problem mit Exception Java Basics - Anfänger-Themen 3
G Feststellen, ob erstes Zeichen eines Strings eine Ziffer ist Java Basics - Anfänger-Themen 11
A erstes größeres Projekt Java Basics - Anfänger-Themen 14
P Mein erstes JAR-File Java Basics - Anfänger-Themen 8
G erstes Zeichen eines Strings herausfinden Java Basics - Anfänger-Themen 3
G erstes element einer haspmap Java Basics - Anfänger-Themen 5
G erstes Arbeiten mit Collections Java Basics - Anfänger-Themen 17
G erstes Arbeiten mit Packages Java Basics - Anfänger-Themen 2
T Erstes RPG: KeyAdapter Problem Java Basics - Anfänger-Themen 3
M erstes Zeichen ersetzen Java Basics - Anfänger-Themen 2
C Konstruktor wird nicht als erstes aufgerufen! Java Basics - Anfänger-Themen 11
L Suche Verbesserungsvorschläge für mein erstes Programm Java Basics - Anfänger-Themen 34
Bierhumpen mein erstes großes Programm. Was ändern? verbessern? Java Basics - Anfänger-Themen 12
O mit Regex erstes Zeichen überprüfen Java Basics - Anfänger-Themen 3
A Mein erstes Programm Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben