的Java序列化
问题描述:
我想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 ;
}
非常感谢
答
流头是赠品:724F3041。此数据不是由ObjectOutputStream
生成的,因此您无法使用ObjectInputStream
进行读取。
+0
谢谢。挖掘代码我注意到数据在序列化后被编码。 – userit1985
我不认为问题出现在这些代码行中。 –
这意味着您尝试反序列化的字节数组已损坏。您可能需要查看串行化List的代码(假设您已拥有该代码) – user1675642
参数的名称'serializeStringAsArray'会提示该数组不包含序列化的对象列表。你确定这个数组是由你期望的吗? – Nolequen