Java-Serialisierung und -Deserialisierung ist ein Persistenzmechanismus, der zum Speichern von Objekten als Bytesequenzen verwendet wird. Die Serialisierung verwendet die java.io.Serializable-Schnittstelle und ObjectOutputStream, um Objekte in eine Datei oder ein Netzwerk zu schreiben. Bei der Deserialisierung wird ein ObjectInputStream verwendet, um eine Folge von Bytes aus einer Datei oder einem Netzwerk zu lesen und das ursprüngliche Objekt zu rekonstruieren. Serialisierung und Deserialisierung werden in Java verwendet, um Objekte beizubehalten, beispielsweise um Benutzerobjekte für ein späteres Neuladen beizubehalten.
Eine ausführliche Anleitung zur Java-Serialisierung und -Deserialisierung
Einführung
Serialisierung ist der Prozess des Speicherns von Objekten in Bytes in einer Datei oder im Netzwerk, damit sie später deserialisiert und neu erstellt werden können das Originalobjekt. Deserialisierung ist das Gegenteil, sie wandelt Daten in Byteform in Rohobjekte um.
Serialisierung
In Java können Objekte mithilfe der Schnittstelle java.io.Serializable
serialisiert werden. Um ein Objekt in eine Datei zu serialisieren, können Sie ObjectOutputStream
verwenden: java.io.Serializable
接口对对象进行序列化。要将对象序列化到文件中,可以使用 ObjectOutputStream
:
// 创建一个对象要序列化的 FileOutputStream FileOutputStream fileOut = new FileOutputStream("object.ser"); // 使用 ObjectOutputStream 将对象写入文件中 ObjectOutputStream out = new ObjectOutputStream(fileOut); out.writeObject(myObject); // 关闭 ObjectOutputStream out.close();
反序列化
要从文件中反序列化对象,可以使用 ObjectInputStream
:
// 创建一个 FileInputStream 以读取序列化的文件 FileInputStream fileIn = new FileInputStream("object.ser"); // 使用 ObjectInputStream 从文件中读取对象 ObjectInputStream in = new ObjectInputStream(fileIn); MyObject myDeserializedObject = (MyObject) in.readObject(); // 关闭 ObjectInputStream in.close();
实战案例:持久化用户对象
假设我们有一个 User
对象,我们需要将其存储在文件中以进行持久化处理。我们可以这样做:
// 创建一个 User 对象 User user = new User("John", "Doe"); // 将 User 对象序列化到文件中 FileOutputStream fileOut = new FileOutputStream("user.ser"); ObjectOutputStream out = new ObjectOutputStream(fileOut); out.writeObject(user); out.close(); // 从文件中反序列化 User 对象 FileInputStream fileIn = new FileInputStream("user.ser"); ObjectInputStream in = new ObjectInputStream(fileIn); User deserializedUser = (User) in.readObject(); in.close(); // 确认反序列化的 User 对象 System.out.println(deserializedUser.getName() + " " + deserializedUser.getLastName()); // 打印:John Doe
结论
Java 序列化是用于对象持久化的强大机制。通过 java.io.Serializable
接口和 ObjectOutputStream
和 ObjectInputStream
rrreee
ObjectInputStream
verwenden: 🎜rrreee 🎜🎜Praktischer Fall: Persistierende Benutzerobjekte🎜🎜🎜Angenommen, wir haben ein Benutzer
-Objekt und müssen es zur Persistenz in einer Datei speichern. Wir können das tun: 🎜rrreee🎜🎜Fazit🎜🎜🎜Java-Serialisierung ist ein leistungsstarker Mechanismus für die Objektpersistenz. Mit der Schnittstelle java.io.Serializable
und den Klassen ObjectOutputStream
und ObjectInputStream
können wir Objekte einfach serialisieren und deserialisieren. 🎜Das obige ist der detaillierte Inhalt vonWie führt man Java-Serialisierung und -Deserialisierung durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!