Heim > Java > javaLernprogramm > Wie kann ich Java-Objekte in und aus Byte-Arrays serialisieren und deserialisieren?

Wie kann ich Java-Objekte in und aus Byte-Arrays serialisieren und deserialisieren?

DDD
Freigeben: 2024-12-17 18:27:11
Original
721 Leute haben es durchsucht

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

Konvertieren serialisierbarer Objekte in Byte-Arrays in Java

In Java ermöglicht die Serializable-Schnittstelle die Konvertierung von Objekten in einen Bytestrom. Diese Funktion ist entscheidend, wenn Objekte über ein Netzwerk übertragen oder in einer Datenbank gespeichert werden müssen.

Ein Objekt in ein Byte-Array kodieren

Um ein Objekt in ein Byte-Array zu kodieren, können Sie verwenden Führen Sie die folgenden Schritte aus:

  1. Instanziieren Sie ein ByteArrayOutputStream-Objekt.
  2. Erstellen Sie einen ObjectOutputStream Objekt unter Verwendung des ByteArrayOutputStream als Ausgabestream.
  3. Schreiben Sie das Objekt mit der Methode writeObject in den ObjectOutputStream.
  4. Leeren Sie den ObjectOutputStream, um sicherzustellen, dass alle Daten in den ByteArrayOutputStream geschrieben werden.
  5. Rufen Sie das Byte-Array mithilfe von toByteArray aus dem ByteArrayOutputStream ab Methode.

Ein Objekt aus einem Byte-Array dekodieren

Um ein Objekt aus einem Byte-Array zu dekodieren, können Sie Folgendes tun:

  1. Instanziieren Sie a ByteArrayInputStream-Objekt mit dem Byte-Array.
  2. Erstellen Sie ein ObjectInputStream-Objekt mit dem ByteArrayInputStream als sein Eingabestream.
  3. Lesen Sie das Objekt aus dem ObjectInputStream mit der readObject-Methode.

Beispielcode

Hier sind Hilfsmethoden für die Serialisierung und Deserialisierung:

Serialisierung:

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);
    }
}
Nach dem Login kopieren

Deserialisierung:

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);
    }
}
Nach dem Login kopieren

Mit diesen Methoden können Sie problemlos konvertieren Objekte zu und von Byte-Arrays, sodass Sie Daten über Netzwerke übertragen oder im Speicher speichern können.

Das obige ist der detaillierte Inhalt vonWie kann ich Java-Objekte in und aus Byte-Arrays serialisieren und deserialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage