IO Serializable 序列化和反序列化以及自定义的序列化

来源:互联网 发布:二次元网址导航源码 编辑:程序博客网 时间:2024/05/29 02:15
package IO;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;public class Serializable1{public static void main(String[] args) throws Exception{Person2 p1 = new Person2(21,"zhangsan",4.33);Person2 p2 = new Person2(232,"zhangan",66.33);Person2 p3 = new Person2(22,"zhanan",6.33);FileOutputStream fos = new FileOutputStream("pp.txt");ObjectOutputStream oos = new ObjectOutputStream(fos);oos.writeObject(p1);oos.writeObject(p2);oos.writeObject(p3);oos.close();System.out.println("--------------");FileInputStream is = new FileInputStream("pp.txt");ObjectInputStream ois = new ObjectInputStream(is);Person2 p= null;for(int i = 0; i <3 ; i++){p = (Person2)ois.readObject();System.out.println(p.age + "     " +  p.name + "     "+ p.height);}ois.close();}}class Person2 implements Serializable{int age; String name;double height;public Person2(int age,String name,double height){this.age = age;this.name = name;this.height = height;}private void writeObject(java.io.ObjectOutputStream ou)throws IOException  //自定义serializable 方法{System.out.println("write object");ou.writeInt(age);ou.writeUTF(name);}private void readObject(java.io.ObjectInputStream in)throws IOException,ClassNotFoundException{age = in.readInt();name = in.readUTF();System.out.println("read Object");}}


java.io.ObjectOutputStream.   java.io.ObjectInputStream  自定义序列化方法

原创粉丝点击