Maison> Java> javaDidacticiel> le corps du texte

Quel est le processus de sérialisation et de désérialisation Java ?

王林
Libérer: 2024-04-15 18:06:01
original
1113 Les gens l'ont consulté

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.

Quel est le processus de sérialisation et de désérialisation Java ?

Le processus de sérialisation et de désérialisation Java

Sérialisation

  1. Écrivez une classe qui implémente l'interfaceSérialisable.Serializable接口的类。
  2. 创建一个ObjectOutputStream对象,并将其与一个文件或字节流关联。
  3. 使用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(); } } }
Copier après la connexion

反序列化

  1. 创建一个ObjectInputStream对象,并将其与一个文件或字节流关联。
  2. 使用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(); } } }
Copier après la connexion

注意事项:

  • 只有实现了Serializable
  • Créez un objet ObjectOutputStreamet associez-le à un fichier ou un flux d'octets.
  • Utilisez la méthodeObjectOutputStream.writeObject()pour écrire des objets dans le flux.
  • Exemple de code :
rrreeeDésérialisationCrée un objet ObjectInputStreamet l'associe à un fichier ou un flux d'octets. Utilisez la méthode ObjectInputStream.readObject()pour lire l'objet. Exemple de code : rrreeeRemarques :
    Seules les classes qui implémentent l'interface Sérialisablepeuvent ê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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!