2011-03-19 64 views
0

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

回答

4

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

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

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

注意:你无法避免使用ObjectOutputStream ...因为是什么做了所有的序列化工作。

+0

完美。谢谢 – providence 2011-03-19 04:51:25

相关问题