2017-10-18 116 views
0

我想desirialize字節[]到對象的列表,但越來越的Java序列化

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

我做錯了嗎?

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 ; 
} 

非常感謝

+0

我不認爲問題出現在這些代碼行中。 –

+0

這意味着您嘗試反序列化的字節數組已損壞。您可能需要查看串行化List的代碼(假設您已擁有該代碼) – user1675642

+1

參數的名稱'serializeStringAsArray'會提示該數組不包含序列化的對象列表。你確定這個數組是由你期望的嗎? – Nolequen

回答

0

流頭是贈品:724F3041。此數據不是由ObjectOutputStream生成的,因此您無法使用ObjectInputStream進行讀取。

+0

謝謝。挖掘代碼我注意到數據在序列化後被編碼。 – userit1985