首頁 > Java > java教程 > 如何將 Java 物件序列化和反序列化為位元組數組?

如何將 Java 物件序列化和反序列化為位元組數組?

DDD
發布: 2024-12-15 13:14:26
原創
660 人瀏覽過

How Can I Serialize and Deserialize Java Objects to Byte Arrays?

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板