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中文網其他相關文章!