//对象序列化 //所谓对象序列化,即把一个对象,变为二进制 //对象所在的类,须实现Serializable接口 public static void main(String[] args) throws Exception { ObjectOutputStream objectOutput= new ObjectOutputStream(new FileOutputStream(new File("d:"+File.separator+"t2.txt"))); objectOutput.writeObject(new Person("Lee", 11)); }
//反序列化 public static void main(String[] args) throws Exception { ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(new File("d:"+File.separator+"t2.txt"))); Object object = objectInputStream.readObject();//读取对象 objectInputStream.close(); System.out.println(object);
//序列化,需要实现Serializable接口 class Person3 implements Serializable { private int age; private String name; @Override public String toString() { return "Person3 [age=" + age + ", name=" + name + "]"; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Person3(int age, String name) { super(); this.age = age; this.name = name; } } public class T19 { //序列化一组对象 public static void main(String[] args) throws Exception { Person3[] pers = { new Person3(11, "Lee"), new Person3(22, "qwere"), new Person3(55, "xiao"), }; ser(pers); Object[] objects = deser(); for (int i = 0; i < objects.length; i++) { Person3 p = (Person3) objects[i]; System.out.println(p); } } //序列化 public static void ser(Object[] obj) throws Exception { ObjectOutputStream objectOutputStream = new ObjectOutputStream( new FileOutputStream(new File("d:" + File.separator + "ser.txt"))); objectOutputStream.writeObject(obj); objectOutputStream.close();//关闭输出 } //反序列化 public static Object[] deser() throws Exception { ObjectInputStream objectInputStream = new ObjectInputStream( new FileInputStream(new File("d:" + File.separator + "ser.txt"))); Object[] obj = (Object[]) objectInputStream.readObject();//读取对象数组 objectInputStream.close(); return obj; } }