import java.io.*;public class SerializationDemo
{
public static void main(String args[])
{
try
{
MyClass object1=new MyClass("Hello",-7,2.7e10);
System.out.println("object1: "+object1);
FileOutputStream fos=new FileOutputStream("serial");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(object1);
oos.flush();
oos.close();
}
catch(Exception e)
{
System.out.println("Exception during serialization: "+e);
System.exit(0);
} try
{
MyClass object2;
FileInputStream fis=new FileInputStream("serial");
ObjectInputStream ois=new ObjectInputStream(fis);
object2=(MyClass)ois.readObject();
ois.close();
System.out.println("object2: "+object2);
}
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;
}
}
上述是我把笔误改过的(一处在[class MyClass implements Serialver],将Serialver更改成Serializable;另处是将[doubled d;]改称double d;)
完全可以运行。