java对象的序列化和反序列化
本文实例为大家分享了java对象的序列化和反序列化,供大家参考,具体内容如下 1. 什么是序列化 2. 怎么实现序列化 3. 序列化的注意事项 (1) 当一个对象序列化时,只能保存对象的非静态成员变量,不能保存方法和静态成员变量。 4. 代码 public class Person implements Serializable { private String name; private transient int age; public Person(String name,int age) { super(); this.name = name; this.age = age; } public String toString() { return this.name + "-" + this.age; } } public class SerializableClient { public static void main(String[] args) throws Exception { Person p1 = new Person("zhangsan",5); Person p2 = new Person("lisi",100); //序列化 FileOutputStream fos = new FileOutputStream("person.txt"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(p1); oos.writeObject(p2); System.out.println("---------"); //反序列化 FileInputStream fis = new FileInputStream("person.txt"); ObjectInputStream ois = new ObjectInputStream(fis); for(int i = 0; i < 2; i++) { Person tempPerson = (Person)ois.readObject(); System.out.println(tempPerson); } } }
当我们在序列化或者反序列化的类中实现了以上两个private方法(方法声明要与上面的保持完全一致),那么就允许我们以更加底层、更加继粒度的方式控制序列化和反序列化的过程。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |