Maison >Java >javaDidacticiel >Comment faire la sérialisation et la désérialisation Java ?
La sérialisation et la désérialisation Java sont un mécanisme de persistance utilisé pour stocker des objets sous forme de séquences d'octets. La sérialisation utilise l'interface java.io.Serializing et ObjectOutputStream pour écrire des objets dans un fichier ou un réseau. La désérialisation utilise un ObjectInputStream pour lire une séquence d'octets à partir d'un fichier ou d'un réseau et reconstruire l'objet d'origine. La sérialisation et la désérialisation sont utilisées en Java pour conserver des objets, tels que des objets utilisateur persistants pour un rechargement ultérieur.
Un guide détaillé sur la sérialisation et la désérialisation Java
Introduction
La sérialisation est le processus de stockage d'objets en octets dans un fichier ou sur le réseau afin qu'ils puissent être désérialisés et désérialisés ultérieurement Reconstruire l'objet d'origine. La désérialisation est à l'opposé, elle convertit les données sous forme d'octets en objets bruts.
Sérialisation
En Java, les objets peuvent être sérialisés à l'aide de l'interface java.io.Serializing
. Pour sérialiser un objet dans un fichier, vous pouvez utiliser ObjectOutputStream
: 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
: 🎜rrreee 🎜🎜Cas pratique : objets utilisateur persistants🎜🎜🎜Supposons que nous ayons un objet Utilisateur
et que nous devions le stocker dans un fichier pour la persistance. Nous pouvons faire ceci : 🎜rrreee🎜🎜Conclusion🎜🎜🎜La sérialisation Java est un mécanisme puissant pour la persistance des objets. Avec l'interface java.io.Serializing
et les classes ObjectOutputStream
et ObjectInputStream
, nous pouvons facilement sérialiser et désérialiser des objets. 🎜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!