Navigation überspringen

Serialisierung

Benötigtes Vorwissen

Serialisierung und Deserialisierung dient dazu Objekte in ein ByteMuster zu modellieren, um es versenden oder speichern zu können.

Anwendung

Die Verwendung der Java-Serialisierung ist sehr einfach.

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class TestSerialisierung {

    public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {

        TestA tA = new TestA("neuA");
        
        //Serialisierung
        try (FileOutputStream fos = new FileOutputStream("outObjByteMuster.ser");
                ObjectOutputStream oos = new ObjectOutputStream(fos)) {
            oos.writeObject(tA);
        }

        //Deserialisierung
        try (FileInputStream fis = new FileInputStream("outObjByteMuster.ser");
                ObjectInputStream ois = new ObjectInputStream(fis)) {
            final TestA tA2 = (TestA) ois.readObject();
            System.out.println(tA2.getTestString()); //Ausgabe: neuA
        }
        

    }

}

class TestA implements Serializable {

    private String testStringA;

    public TestA(String bezeichnungA) {
        this.testStringA = bezeichnungA;
    }
    
    public String getTestString(){
        return this.testStringA;
    }

}

Im Projektordner wird die Datei outObjByteMuster.ser erzeugt:

Diese Datei enthält ein Muster zum streamen von Bytemustern des Objekts tA.

Eine Netzwerkübertragung via Socket.getOutputStream() wäre anstelle einer Dateispeicherung möglich.