package com.e2u.serialize;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class SerializationDemo
{
public static void main(String args[])
{
// Object serialization
try
{
MyClass object1 = new MyClass("Hello", -7, 2.7e10);
ArrayList<MyClass> list = new ArrayList<MyClass>();
for(int i = 0; i < 10; i++)
{
list.add(new MyClass("Hello" + i, 100 + i, 110.6789d + i));
}
System.out.println("object1:" + object1);
System.out.println("list1:" + list);
FileOutputStream fos = new FileOutputStream("serial");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(object1);
oos.writeObject(list);
oos.flush();
oos.close();
}
catch(Exception e)
{
System.out.println("Exception during serialization:" + e);
System.exit(0);
}
// Object deserialization
try
{
MyClass object2;
FileInputStream fis = new FileInputStream("serial");
ObjectInputStream ois = new ObjectInputStream(fis);
object2 = (MyClass) ois.readObject();
List list = (List) ois.readObject();
ois.close();
System.out.println("object2:" + object2);
System.out.println("list2:" + list);
}
catch(Exception e)
{
System.out.println("Exception during deserialization:" + e);
System.exit(0);
}
}
}
class MyClass implements Serializable
{
String s;
int i;
double d;
public MyClass(String s, int i, double d)
{
this.s = s;
this.i = i;
this.d = d;
}
public String toString()
{
return "s=" + s + ";i=" + i + ";d=" + d;
}
}