La sérialisation et la désérialisation Java impliquent les étapes suivantes : Écriture d'une classe qui implémente l'interface Serialisable dans un flux (sérialisation). Lire (désérialiser) l'objet du flux.
Sérialisation
Sérialisable
.Serializable
接口的类。ObjectOutputStream
对象,并将其与一个文件或字节流关联。ObjectOutputStream.writeObject()
方法将对象写入流中。示例代码:
import java.io.FileOutputStream; import java.io.ObjectOutputStream; public class Employee implements Serializable { private String name; private int age; // 省略getter和setter方法 public static void main(String[] args) { Employee employee = new Employee("John", 30); try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("employee.txt"))) { out.writeObject(employee); } catch (Exception e) { e.printStackTrace(); } } }
反序列化
ObjectInputStream
对象,并将其与一个文件或字节流关联。ObjectInputStream.readObject()
方法读取对象。示例代码:
import java.io.FileInputStream; import java.io.ObjectInputStream; public class DeserializeEmployee { public static void main(String[] args) { try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("employee.txt"))) { Employee employee = (Employee) in.readObject(); System.out.println(employee.getName() + ", " + employee.getAge()); } catch (Exception e) { e.printStackTrace(); } } }
注意事项:
Serializable
ObjectOutputStream
et associez-le à un fichier ou un flux d'octets.
ObjectOutputStream.writeObject()
pour écrire des objets dans le flux.ObjectInputStream
et l'associe à un fichier ou un flux d'octets. Utilisez la méthode
ObjectInputStream.readObject()
pour lire l'objet. Exemple de code : rrreeeRemarques :
Sérialisable
peuvent être sérialisées. L'ordre de sérialisation et de désérialisation doit être cohérent. La structure d'une classe ne peut pas changer entre la sérialisation et la désérialisation. La sérialisation des objets peut être lente, en particulier pour les objets volumineux.
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!