Maison >Java >javaDidacticiel >Comment puis-je sérialiser et désérialiser des objets Java en tableaux d'octets ?

Comment puis-je sérialiser et désérialiser des objets Java en tableaux d'octets ?

DDD
DDDoriginal
2024-12-15 13:14:26716parcourir

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

Sérialisation et désérialisation d'objets Java en tableaux d'octets

Dans les scénarios typiques impliquant la transmission de données sur des réseaux, il est souvent nécessaire de convertir des objets dans des tableaux d'octets pour un transfert efficace. Comprendre comment sérialiser et désérialiser les objets Java permet aux développeurs de gérer efficacement cet échange de données, garantissant l'intégrité et la fonctionnalité des objets transmis.

Sérialisation

Pour sérialiser un objet, il y a des preuves et des tests méthodes :

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

Désérialisation

Une fois l'objet sérialisé et transmis, l'extrémité réceptrice peut le reconstruire en utilisant l'approche suivante :

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

En implémentant ces méthodes, les développeurs peuvent convertir de manière transparente leurs objets Java en tableaux d'octets, les transmettre sur les réseaux, puis les désérialiser sur le récepteur. fin, préservant l'état de l'objet et permettant un traitement ultérieur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn