美文网首页Java学习笔记
JAVA 笔记之 序列化与反序列化

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

作者: 红姑娘 | 来源:发表于2016-11-21 11:09 被阅读5次

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

序列化:
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 + "]";
            }
       }

相关文章

  • Java 序列化 之 单例模式

    序列化相关文章: Java 序列化 之 Serializable Java 序列化之 Externalizable...

  • java 序列化 原理解析

    序列化相关文章: Java 序列化 之 Serializable Java 序列化之 Externalizable...

  • Java序列化与反序列化

    问题 Java序列化与反序列化是什么?为什么需要序列化与反序列化?有什么好处?如何实现Java序列化与反序列化? ...

  • 《成神之路-基础篇》Java基础知识——序列化(已完结)

    Java对象的序列化与反序列化 介绍了序列化与反序列化的基本用法 深入分析Java的序列化与反序列化 介绍了wri...

  • java专题之序列化

    一、基本概念 1、什么是序列化和反序列化 (1)Java序列化是指把Java对象转换为字节序列的过程,而Java反...

  • urldns利用链分析

    java序列化与反序列化 java 序列化与反序列化 为了更好的存放传输一些数据,往往会将一些数据进行序列化,需 ...

  • Java序列化与Hessian序列化的区别

    Java序列化与Hessian序列化的区别

  • 2022-07-12

    什么是序列化与反序列化 Java 序列化是指把 Java 对象转换为字节序列的过程。 Java 反序列化是指把字节...

  • Java-序列化-反序列化

    Thanks Java基础学习总结——Java对象的序列化和反序列化java序列化反序列化原理Java 序列化的高...

  • 序列化与反序列化1

    一、什么是序列化与反系列化? 序列化是将对象转换为二进制形式的数据(如Java中的byte数组),反序列化是再将二...

网友评论

    本文标题:JAVA 笔记之 序列化与反序列化

    本文链接:https://www.haomeiwen.com/subject/jrhupttx.html