0
我有一个我想要序列化的对象。事情是,我不想在FileOutputStream或ObjectOutputStream中发送它。相反,我想将结果分配给一个变量。我无法找到任何有关在网络上执行此操作的信息。这是因为这样做没有标准的Java方法吗?如果是这样的话,我需要研究什么来写一个自己做这个的方法?将序列化的结果分配给变量
我有一个我想要序列化的对象。事情是,我不想在FileOutputStream或ObjectOutputStream中发送它。相反,我想将结果分配给一个变量。我无法找到任何有关在网络上执行此操作的信息。这是因为这样做没有标准的Java方法吗?如果是这样的话,我需要研究什么来写一个自己做这个的方法?将序列化的结果分配给变量
这听起来像你需要做这样的事情:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(someObject);
oos.close();
byte[] serialized = bos.toByteArray();
这将使序列化对象的字节表示为serialized
。您可以使用ByteArrayInputStream和ObjectInputStream来反转进程(反序列化)。
注意:你无法避免使用ObjectOutputStream ...因为那是什么做了所有的序列化工作。
完美。谢谢 – providence 2011-03-19 04:51:25