Java のシリアル化と逆シリアル化は、オブジェクトをバイトのシーケンスとして保存するための永続化メカニズムです。シリアル化では、java.io.Serializable インターフェイスと ObjectOutputStream を使用して、オブジェクトをファイルまたはネットワークに書き込みます。逆シリアル化では、ObjectInputStream を使用してファイルまたはネットワークからバイト シーケンスを読み取り、元のオブジェクトを再構築します。 Java では、シリアル化と逆シリアル化は、後で再ロードするためにユーザー オブジェクトを永続化するなど、オブジェクトを永続化するために使用されます。
Java シリアル化と逆シリアル化の詳細ガイド
はじめに
シリアル化とは、後で逆シリアル化して元のオブジェクトを再構築できるように、オブジェクトをファイルまたはネットワークにバイトとして保存することを指します。逆シリアル化はその逆で、バイト形式のデータを生のオブジェクトに変換します。
シリアル化
Java では、java.io.Serializable
インターフェイスを使用してオブジェクトをシリアル化できます。オブジェクトをファイルにシリアル化するには、ObjectOutputStream
を使用できます。
// 创建一个对象要序列化的 FileOutputStream FileOutputStream fileOut = new FileOutputStream("object.ser"); // 使用 ObjectOutputStream 将对象写入文件中 ObjectOutputStream out = new ObjectOutputStream(fileOut); out.writeObject(myObject); // 关闭 ObjectOutputStream out.close();
Deserialization
ファイルからオブジェクトを逆シリアル化するには、次を使用できます。 ObjectInputStream
:
// 创建一个 FileInputStream 以读取序列化的文件 FileInputStream fileIn = new FileInputStream("object.ser"); // 使用 ObjectInputStream 从文件中读取对象 ObjectInputStream in = new ObjectInputStream(fileIn); MyObject myDeserializedObject = (MyObject) in.readObject(); // 关闭 ObjectInputStream in.close();
実用的なケース: 永続ユーザー オブジェクト
User
オブジェクトがあると仮定します。永続化のためにファイルに保存されます。これを行うことができます。
// 创建一个 User 对象 User user = new User("John", "Doe"); // 将 User 对象序列化到文件中 FileOutputStream fileOut = new FileOutputStream("user.ser"); ObjectOutputStream out = new ObjectOutputStream(fileOut); out.writeObject(user); out.close(); // 从文件中反序列化 User 对象 FileInputStream fileIn = new FileInputStream("user.ser"); ObjectInputStream in = new ObjectInputStream(fileIn); User deserializedUser = (User) in.readObject(); in.close(); // 确认反序列化的 User 对象 System.out.println(deserializedUser.getName() + " " + deserializedUser.getLastName()); // 打印:John Doe
結論
Java シリアル化は、オブジェクトを永続化するための強力なメカニズムです。 java.io.Serializable
インターフェイスと ObjectOutputStream
および ObjectInputStream
クラスを通じて、オブジェクトを簡単にシリアル化および逆シリアル化できます。
以上がJavaのシリアル化と逆シリアル化を行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。