Java 对象序列化和反序列化为字节数组
在涉及网络传输数据的典型场景中,经常需要转换对象转换为字节数组以实现高效传输。了解如何序列化和反序列化 Java 对象使开发人员能够有效地管理此数据交换,确保传输对象的完整性和功能性。
序列化
要序列化对象,有经过尝试和测试的方法:
static byte[] serialize(final Object obj) { ByteArrayOutputStream bos = new ByteArrayOutputStream(); try (ObjectOutputStream out = new ObjectOutputStream(bos)) { out.writeObject(obj); out.flush(); return bos.toByteArray(); } catch (Exception ex) { throw new RuntimeException(ex); } }
反序列化
一旦对象被序列化并传输,接收端可以使用以下方法重建它:
static Object deserialize(byte[] bytes) { ByteArrayInputStream bis = new ByteArrayInputStream(bytes); try (ObjectInput in = new ObjectInputStream(bis)) { return in.readObject(); } catch (Exception ex) { throw new RuntimeException(ex); } }
通过实现这些方法,开发人员可以将 Java 对象无缝转换为字节数组,通过网络传输,然后反序列化在接收端,保留对象的状态并启用进一步处理。
以上是如何将 Java 对象序列化和反序列化为字节数组?的详细内容。更多信息请关注PHP中文网其他相关文章!