シリアル化は、オブジェクトの状態を任意のストレージ メディアに保存できるプロセスです。オブジェクトの状態をファイルやデータベース テーブルなどに保存できます。デシリアライゼーションは、ストレージ メディアからオブジェクトを取得するシリアライゼーションの反対のプロセスです。
例 1: Java Bean オブジェクトがあり、その変数にいくつかの値があるとします。次に、このオブジェクトをファイルまたはデータベース テーブルに保存します。これは、シリアル化を使用して実現できます。これで、必要なときにいつでもファイルまたはデータベースからこのオブジェクトを再度取得できます。これは、逆シリアル化を使用して実現できます。
**Serialization Example:**
Employee e = new Employee();
e.name = "Reyan Ali";
e.address = "Phokka Kuan, Ambehta Peer";
e.SSN = 11122333;
e.number = 101;
try
{
FileOutputStream fileOut =
new FileOutputStream("employee.ser");
ObjectOutputStream out =
new ObjectOutputStream(fileOut);
out.writeObject(e);
out.close();
fileOut.close();
}catch(IOException i)
{
i.printStackTrace();
}
**Deserializing an Object:**
The following DeserializeDemo program deserializes the Employee object created in the SerializeDemo program. Study the program and try to determine its output:
Employee e = null;
try
{
FileInputStream fileIn =
new FileInputStream("employee.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
e = (Employee) in.readObject();
in.close();
fileIn.close();
}catch(IOException i)
{
i.printStackTrace();
return;
}catch(ClassNotFoundException c)
{
System.out.println(.Employee class not found.);
c.printStackTrace();
return;
}
System.out.println("Deserialized Employee...");
System.out.println("Name: " + e.name);
System.out.println("Address: " + e.address);
System.out.println("SSN: " + e.SSN);
System.out.println("Number: " + e.number);