将序列化的结果分配给变量

时间:2011-03-19 04:34:48

标签: java serialization

我有一个我想序列化的对象。问题是,我不想在FileOutputStream或ObjectOutputStream中发送它。相反,我想将结果分配给变量。我无法在网上找到任何关于这样做的信息。这是因为没有标准的Java方法吗?如果是这样的话,我需要研究一下自己编写一个方法吗?

1 个答案:

答案 0 :(得分:4)

听起来你需要做这样的事情:

ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(someObject);
oos.close();
byte[] serialized = bos.toByteArray();

这会将序列化对象的字节表示放入serialized。您可以使用ByteArrayInputStream和ObjectInputStream来反转进程(反序列化)。

注意:您无法避免使用ObjectOutputStream ...因为 是序列化的所有工作。