Maison  >  Article  >  Java  >  Quels sont les types de sérialisation et de désérialisation Java ?

Quels sont les types de sérialisation et de désérialisation Java ?

WBOY
WBOYoriginal
2024-04-15 12:39:021055parcourir

La sérialisation Java fournit les types de sérialisation suivants : 1. Sérialisation de type de données de base ; 2. Sérialisation d'objet, qui nécessite que la classe implémente l'interface java.io.Serializing ; 3. Externalisation et désérialisation, qui nécessitent que l'objet implémente Java. io .Interface externalisable. En combat réel, les informations sur les objets peuvent être directement stockées et lues.

Quels sont les types de sérialisation et de désérialisation Java ?

Types de sérialisation Java

La sérialisation Java est un processus de sauvegarde de l'état d'un objet dans un stockage persistant ou de sa transmission sur un réseau. Java fournit les types de sérialisation suivants :

1. Sérialisation des types de données de base

Les types de données de base (tels que int, long, double) peuvent être sérialisés directement.

// 基本数据类型序列化
int num = 100;
OutputStream out = new FileOutputStream("num.ser");
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(num);
oos.close();

2. Sérialisation d'objets

Pour sérialiser des objets, les classes doivent implémenter l'interface java.io.Seriallessly. java.io.Serializable 接口。

// 对象序列化
class Person implements Serializable {
    private String name;
    private int age;

    // ...
}

Person person = new Person();
OutputStream out = new FileOutputStream("person.ser");
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(person);
oos.close();

3. 外部化和反序列化

外部化允许自定义序列化和反序列化的过程。对象需要实现 java.io.Externalizable

// 外部化
public void writeExternal(ObjectOutput out) {
    out.writeObject(name);
    out.writeInt(age);
}

// 反序列化
public void readExternal(ObjectInput in) {
    this.name = (String) in.readObject();
    this.age = in.readInt();
}

3. Externalisation et désérialisation

L'externalisation permet de personnaliser le processus de sérialisation et de désérialisation. L'objet doit implémenter l'interface java.io.Externalizing.

// 存储用户信息
UserInfo user = new UserInfo();
OutputStream out = new FileOutputStream("user.ser");
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(user);
oos.close();

// 读取用户信息
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("user.ser"));
UserInfo user2 = (UserInfo) ois.readObject();
ois.close();
Cas pratique

🎜🎜🎜Cas : Stockage et lecture des informations utilisateur🎜🎜rrreee

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!

Déclaration:
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