简单网站开发流程,如何建网站运营网站,vue 做pc网站可以吗,企业画册设计制作第三章 序列化
3.1 概述
Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象#xff0c;该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后#xff0c;相当于文件中持久保存了一个对象的信息。
反之#xff0c;该…第三章 序列化
3.1 概述
Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后相当于文件中持久保存了一个对象的信息。
反之该字节序列还可以从文件中读取回来重构对象对它进行反序列化。对象的数据、对象的类型和对象中存储的数据信息都可以用来在内存中创建对象。
3.2 ObjectOutputStream类
java.io.ObjectOutputStream 类将Java对象的原始数据类型写出到文件,实现对象的持久存储。
构造方法
public ObjectOutputStream(OutputStream out) 创建一个指定OutputStream的ObjectOutputStream。
构造举例代码如下
FileOutputStream fileOut new FileOutputStream(employee.txt);
ObjectOutputStream out new ObjectOutputStream(fileOut);序列化操作
一个对象要想序列化必须满足两个条件:
该类必须实现java.io.Serializable 接口Serializable 是一个标记接口不实现此接口的类将不会使任何状态序列化或反序列化会抛出NotSerializableException 。该类的所有属性必须是可序列化的。如果有一个属性不需要可序列化的则该属性必须注明是瞬态的使用transient 关键字修饰。
public class Employee implements java.io.Serializable {public String name;public String address;public transient int age; // transient瞬态修饰成员,不会被序列化public void addressCheck() {System.out.println(Address check : name -- address);}
}2.写出对象方法
public final void writeObject (Object obj) : 将指定的对象写出。
public class SerializeDemo{public static void main(String [] args) {Employee e new Employee();e.name zhangsan;e.address beiqinglu;e.age 20; try {// 创建序列化流对象ObjectOutputStream out new ObjectOutputStream(new FileOutputStream(employee.txt));// 写出对象out.writeObject(e);// 释放资源out.close();fileOut.close();System.out.println(Serialized data is saved); // 姓名地址被序列化年龄没有被序列化。} catch(IOException i) {i.printStackTrace();}}
}
输出结果
Serialized data is saved