Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Serializable ArrayList mit java.io.InvalidClassException

3 views
Skip to first unread message

Frank

unread,
Jun 11, 2003, 12:21:33 PM6/11/03
to
Hallo zusammen,

das ist mein Code

ByteArrayOutputStream serialString = new ByteArrayOutputStream();
try{
ObjectOutputStream output = new ObjectOutputStream(serialString);
output.writeObject(createTransferFormTableRows());
output.flush();
ByteArrayInputStream serialString1 = new
ByteArrayInputStream(serialString.toString().getBytes());
ObjectInputStream input = new ObjectInputStream(serialString1);
ArrayList rows = (ArrayList)input.readObject();
}catch(IOException ioex){
ioex.printStackTrace();
}catch(ClassNotFoundException cnex){
cnex.printStackTrace();
}

private ArrayList createTransferFormTableRows(){
ArrayList rows = new ArrayList(table.getSelectedRowCount());
HashMap row = new HashMap(table.getColumnCount());
int[] selectedRows = table.getSelectedRows();
for(int rowCount=0; rowCount < selectedRows.length; rowCount++){
for(int column=0; column < table.getColumnCount();column++){

row.put(table.getColumnName(column),table.getValueAt(column,selectedRows[row
Count]));
}
}
return rows;
}

Das die Exception mit der Verursacher Zeile ArrayList rows =
(ArrayList)input.readObject();

java.io.InvalidClassException: java.util.ArrayList; local class
incompatible: stream classdesc
serialVersionUID = 8664875232659988799, local class serialVersionUID =
8683452581122892189
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:459)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)

Ich Serialisiere erst eine ArrayList und anschliessend deserialisierte ich
die ArrayList.
Bei input.readObject() ist dann aber Schluss. Ist das nach dem serialisieren
keine ArrayList mehr.
Die serialVersionUID deuten darauf hin ?!?!

Was meint Ihr dazu?

Frank Buss

unread,
Jun 11, 2003, 12:55:54 PM6/11/03
to
"Frank" <Fr...@gmx.de> wrote:

> Was meint Ihr dazu?

nimm nicht toString().getBytes(), sondern nur getBytes() und arbeite
mit einem Byte-Array. Hier der Grund:

http://groups.google.de/groups?threadm=alt5a8%24jit%2405%241%40news.t-online.com

--
Frank Buß, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

Frank Buss

unread,
Jun 11, 2003, 12:57:27 PM6/11/03
to
Subject: Re: Serializable ArrayList mit java.io.InvalidClassException
From: Frank Buss <f...@frank-buss.de>
Newsgroups: de.comp.lang.java

"Frank" <Fr...@gmx.de> wrote:

> Was meint Ihr dazu?

nimm nicht toString().getBytes(), sondern direkt toByteArray() und arbeite

0 new messages