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

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

WBOY
WBOYオリジナル
2023-10-20 15:31:46962ブラウズ

逆シリアル化関数を使用して 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。