什么是 Java 的序列化,如何实现 Java 的序列化?

对象序列化是一个用于将对象状态转换为字节流的过程,可以将其保存到磁盘文件中或通过网络发送到任何其他程序。从字节流创建对象的相反的过程称为反序列化。而创建的字节流是与平台无关的,在一个平台上序列化的对象可以在不同的平台上反序列化。序列化是为了解决在对象流进行读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现 Serializable 接口,该接口没有需要实现的方法,只是用于标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream 对象,接着使用 ObjectOutputStream 对象的 writeObject(Object obj) 方法可以将参数为 obj 的对象写出,要恢复的话则使用输入流。

1 评论

  1. public class Demo {
    public static void main(String[] args) {

    ObjectOutputStream oos;
    ObjectInputStream ois;
    try {
    oos = new ObjectOutputStream(new FileOutputStream(“d:/a.txt”));
    ois = new ObjectInputStream(new FileInputStream(“d:/a.txt”));
    // 序列化
    oos.writeObject(new User());
    // 反序列化
    Object user = ois.readObject();
    System.out.println(user);
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }

    }
    }

    class User implements Serializable{
    private String name = “zhangsan”;

    @Override
    public String toString() {
    return name;
    }
    }

发表评论