1 package 对象序列化; 2 3 import java.io.Serializable; 4 5 @SuppressWarnings("serial") 6 class A implements Serializable{ 7 8 } 9 public class TestSerializable {10 public static void main(String[] args) {11 12 }13 }
对象序列化:java.io.ObjectOutputStream
对象反序列化:java.io.ObjectInputStream
1 package 对象序列化; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.io.ObjectInputStream; 9 import java.io.ObjectOutputStream;10 import java.io.Serializable;11 12 @SuppressWarnings("serial")13 class A implements Serializable{14 private String name;15 private transient int age;//transient修饰的成员不能被序列化16 public A(String name,int age){17 this.name=name;18 this.age=age;19 }20 @Override21 public String toString() {22 return "name="+name+",age="+age;23 }24 }25 public class TestSerializable {26 public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {27 ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(new File("D:"+File.separator+"A.ser")));28 oos.writeObject(new A("张三",23));29 oos.close();30 31 ObjectInputStream ois=new ObjectInputStream(new FileInputStream(new File("D:"+File.separator+"A.ser")));32 A a=(A)ois.readObject();33 ois.close();34 System.out.println(a);35 }36 }