Rumah >Java >javaTutorial >Bagaimanakah saya Boleh Mensiri dan Menyahseri Objek Java kepada Tatasusunan Byte?

Bagaimanakah saya Boleh Mensiri dan Menyahseri Objek Java kepada Tatasusunan Byte?

DDD
DDDasal
2024-12-15 13:14:26663semak imbas

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

Mensiri dan Menyahsiri Objek Java kepada Tatasusunan Byte

Dalam senario biasa yang melibatkan penghantaran data melalui rangkaian, keperluan sering timbul untuk menukar objek ke dalam tatasusunan bait untuk pemindahan yang cekap. Memahami cara mensiri dan menyahsiri objek Java membolehkan pembangun mengurus pertukaran data ini dengan berkesan, memastikan integriti dan kefungsian objek yang dihantar.

Pensiran

Untuk mensiri objek, ada yang cuba dan teruji kaedah:

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);
    }
}

Deserialisasi

Apabila objek telah disiri dan dihantar, hujung penerima boleh membina semula menggunakan pendekatan berikut:

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);
    }
}

Dengan melaksanakan kaedah ini, pembangun boleh menukar objek Java mereka kepada tatasusunan bait dengan lancar, menghantarnya rangkaian, dan kemudian nyahserikannya pada bahagian penerima, mengekalkan keadaan objek dan membolehkan pemprosesan selanjutnya.

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Mensiri dan Menyahseri Objek Java kepada Tatasusunan Byte?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn