2017-10-18 2 views
0

Ich versuche, byte [] zur Liste Objekt desirialize aberJava Deserialisierung der Liste der Objekte

java.io.StreamCorruptedException: invalid stream header: 724F3041 error. 

bekommen, was ich falsch mache?

public static List<Object> getDeserialized(byte serializeStringAsArray[]) throws IOException, Exception { 

    ByteArrayInputStream bais = new ByteArrayInputStream(serializeStringAsArray); 
    ObjectInputStream in = new ObjectInputStream(bais); 

    List<Object> objectAsDeserialize = (List<Object>) in.readObject(); 

    bais.close(); 
    in.close(); 
    return objectAsDeserialize ; 
} 

Vielen Dank

+0

Ich glaube nicht, dass das Problem in diesen Codezeilen liegt. –

+0

Dies bedeutet, dass das Byte-Array, das Sie deserialisieren möchten, beschädigt ist. Vielleicht möchten Sie sich den Code ansehen, der die Liste serialisiert (vorausgesetzt, Sie haben ihn) – user1675642

+1

Der Name 'serializeStringAsArray' des Parameters gibt einen Hinweis darauf, dass das Array keine serialisierte Liste von Objekten enthält. Sind Sie sicher, dass das Array aus dem besteht, was Sie erwarten? – Nolequen

Antwort

0

Der Stream-Header ist das Werbegeschenk: 724F3041. Diese Daten wurden nicht von einem ObjectOutputStream erzeugt, so dass Sie es nicht mit einem ObjectInputStream lesen können.

+0

Vielen Dank. Digging den Code Ich habe bemerkt, dass die Daten nach der Serialisierung codiert wurden. – userit1985

Verwandte Themen