Java 将序列化结果分配给变量
我有一个要序列化的对象。问题是,我不想在FileOutputStream或ObjectOutputStream中发送此消息。相反,我想将结果赋给一个变量。我在网上找不到任何关于这样做的信息。这是因为没有标准的Java方法来实现这一点吗?如果是这样的话,我需要研究什么才能写出一个自己能做到这一点的方法呢 听起来你需要这样做:Java 将序列化结果分配给变量,java,serialization,Java,Serialization,我有一个要序列化的对象。问题是,我不想在FileOutputStream或ObjectOutputStream中发送此消息。相反,我想将结果赋给一个变量。我在网上找不到任何关于这样做的信息。这是因为没有标准的Java方法来实现这一点吗?如果是这样的话,我需要研究什么才能写出一个自己能做到这一点的方法呢 听起来你需要这样做: ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new O
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(someObject);
oos.close();
byte[] serialized = bos.toByteArray();
这将把序列化对象的字节表示形式放入序列化
。您可以使用ByteArrayInputStream和ObjectInputStream反向处理(反序列化)
注意:您无法避免使用ObjectOutputStream。。。因为序列化的所有工作都是这样做的。听起来您需要这样做:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(someObject);
oos.close();
byte[] serialized = bos.toByteArray();
这将把序列化对象的字节表示形式放入序列化
。您可以使用ByteArrayInputStream和ObjectInputStream反向处理(反序列化)
注意:您无法避免使用ObjectOutputStream。。。因为这就是序列化的全部工作