Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对象反序列化-从序列化对象返回int数组_Java_Serialization_Deserialization_Object Serialization - Fatal编程技术网

Java 对象反序列化-从序列化对象返回int数组

Java 对象反序列化-从序列化对象返回int数组,java,serialization,deserialization,object-serialization,Java,Serialization,Deserialization,Object Serialization,现在,ObjectOutputStream获取对象并直接序列化它DeflaterOutputStream压缩序列化结果,然后将压缩结果存储在ByteArrayOutputStream 有人能告诉我如何反序列化并取回我原来的int数组吗? Plz共享编码?在转换为字节之前,您可能需要关闭或完成流。我将编辑我的答案。在这里检查我的完整代码。好的。我终于找到了问题所在。您必须使用充气输入流,而不是放气输入流。很抱歉没有早点测试我的解决方案。我现在已经成功地测试了它。 int[] myIntArray;

现在,
ObjectOutputStream
获取对象并直接序列化它
DeflaterOutputStream
压缩序列化结果,然后将压缩结果存储在
ByteArrayOutputStream

有人能告诉我如何反序列化并取回我原来的int数组吗?
Plz共享编码?

在转换为字节之前,您可能需要关闭或完成流。我将编辑我的答案。在这里检查我的完整代码。好的。我终于找到了问题所在。您必须使用充气输入流,而不是放气输入流。很抱歉没有早点测试我的解决方案。我现在已经成功地测试了它。
int[] myIntArray;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new DeflaterOutputStream(byteArrayOutputStream));
objectOutputStream.writeObject(myIntArray);
objectOutputStream.close();
byte[] serialized = byteArrayOutputStream.getBytes();

// and then read back using symmetric constructs as when writing, but using 
// input streams instead of output streams:

ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(serialized);
ObjectInputStream objectInputStream = 
    new ObjectInputStream(new InflaterInputStream(byteArrayInputStream));
int[] myDesererializedIntArray = (int[]) objectInputStream.readObject();