逆シリアル化関数を使用して Java でオブジェクトのシリアル化と逆シリアル化を実装する方法

WBOY
リリース: 2023-10-20 15:31:46
オリジナル
961 人が閲覧しました

逆シリアル化関数を使用して Java でオブジェクトのシリアル化と逆シリアル化を実装する方法

Java で逆シリアル化関数を使用してオブジェクトのシリアル化と逆シリアル化を実現する方法

シリアル化とは、オブジェクトを、ネットワーク経由で送信したり保存したりできるオブジェクトに変換することです。バイト ストリームを使用するプロセスであり、逆シリアル化は、バイト ストリームをオブジェクトに変換して戻すプロセスです。 Java は、開発者がオブジェクトを簡単に保存および送信できるように、シリアル化および逆シリアル化メカニズムを提供します。この記事では、Java の逆シリアル化関数を使用してオブジェクトをシリアル化および逆シリアル化する方法と、具体的なコード例を紹介します。

  1. Serializable インターフェイスの実装
    オブジェクトのシリアル化と逆シリアル化を実装するには、まずシリアル化されたオブジェクトが属するクラスが Serializable インターフェイスを実装していることを確認する必要があります。このインターフェイスにはメソッドはなく、このクラスがシリアル化できることを Java に伝えるための識別子としてのみ機能します。

サンプル コード:

import java.io.Serializable;

public class Person implements Serializable {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // getter and setter
}
ログイン後にコピー
  1. オブジェクトのシリアル化
    オブジェクトをバイト ストリームにシリアル化するには、ObjectOutputStream クラスを使用できます。まず、FileOutputStream オブジェクトを作成し、それをパラメータとして ObjectOutputStream のコンストラクターに渡し、次に ObjectOutputStream の writeObject メソッドを使用してオブジェクトをファイルに書き込む必要があります。

サンプル コード:

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;

public class SerializationDemo {
    public static void main(String[] args) {
        Person person = new Person("张三", 25);

        try {
            FileOutputStream fileOut = new FileOutputStream("person.ser");
            ObjectOutputStream out = new ObjectOutputStream(fileOut);
            out.writeObject(person);
            out.close();
            fileOut.close();
            System.out.println("对象已被序列化并保存在person.ser文件中");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
ログイン後にコピー
  1. オブジェクトの逆シリアル化
    バイト ストリームをオブジェクトに逆シリアル化するには、ObjectInputStream クラスを使用できます。まず、FileInputStream オブジェクトを作成し、それをパラメータとして ObjectInputStream のコンストラクターに渡し、次に ObjectInputStream の readObject メソッドを使用して、ファイル内のバイト ストリームをオブジェクトとして読み取る必要があります。

サンプルコード:

import java.io.FileInputStream;
import java.io.ObjectInputStream;

public class DeserializationDemo {
    public static void main(String[] args) {
        Person person = null;

        try {
            FileInputStream fileIn = new FileInputStream("person.ser");
            ObjectInputStream in = new ObjectInputStream(fileIn);
            person = (Person) in.readObject();
            in.close();
            fileIn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        if (person != null) {
            System.out.println("对象已经从person.ser文件中反序列化:" + person.getName() + "," + person.getAge());
        }
    }
}
ログイン後にコピー

上記は、Java でオブジェクトのシリアル化と逆シリアル化を実現するために逆シリアル化関数を使用する方法とコード例です。 Serializable インターフェイスを実装し、ObjectInputStream クラスと ObjectOutputStream クラスを使用することにより、オブジェクトをバイト ストリームにシリアル化したり、バイト ストリームをオブジェクトに逆シリアル化して戻すことが簡単にできます。このメカニズムは、ネットワーク送信とファイル ストレージの両方で大きな応用価値があります。

以上が逆シリアル化関数を使用して Java でオブジェクトのシリアル化と逆シリアル化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート