JAVA 笔记之 序列化与反序列化

需求:把对象按照流一样的方式操作。对象流。序列化流。
序列化:把对象按照流一样的方式操作。
反序列化:把文件中的流对象的数据还原成对象。

序列化:
ObjectOutputStream
public final void writeObject(Object obj)
反序列化:
ObjectInputStream
public final Object readObject()

java.io.NotSerializableException

public static void main(String[] args) throws IOException,ClassNotFoundException {
    // write();//序列化
    read();//反序列化
}
private static void read() throws IOException, ClassNotFoundException {
    
    ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
            "oos.txt"));
    // public final Object readObject()
    Object obj = ois.readObject();
    ois.close();

    System.out.println(obj);
}

private static void write() throws IOException {
    // 创建序列化流对象
    ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(
            "oos.txt"));
    Person p = new Person("林青霞", 27);
    // public final void writeObject(Object obj)
    oos.writeObject(p);
    oos.close();
}
  • 创建person对象
/*
 * 类通过实现 java.io.Serializable 接口以启用其序列化功能。
 * 未实现此接口的类将无法使其任何状态序列化或反序列化。
 * 
 * 注意:
 *      以后,你可能会看到有些接口或者抽象类中没有任何抽象方法。作用很简单:其实仅仅是起到了一个标记作用。
 * /

    public class Person implements Serializable {
        private static final long serialVersionUID = -6331577188740944629L;

        private String name;
            private int age;

        public Person() {
          super();
         }

        public Person(String name, int age) {
          super();
          this.name = name;
          this.age = age;
         }

        public String getName() {
        return name;
        }
        public void setName(String name) {
         this.name = name;
        }

        public int getAge() {
           return age;
        }

             public void setAge(int age) {
                this.age = age;
         }
            @Override
            public String toString() {
                return "Person [name=" + name + ", age=" + age + "]";
            }
       }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容