什么是对象的序列化
当创建对象是,程序运行时他就会存在,但是程序停止时,对象也就消失了。但是如果希望永远的保存这些对象,则可以将对象转为字节数据写入到硬盘上并保存其信息。当对象将被重建时它并且拥有与程序上次运行是拥有的信息相同。这就是对象的序列化。
基本的序列化有两方法产生,一个方法用于序列化对象并将它们写入一个流,另一个方法用于读取流并反序列化对象。
ObjectOutputstream 和 ObjectInputSteam 对象分别需要字节输出流和字节输入流对象来构建对象,因此,这两个对象可以将对象进行本地持久化存储。
实现代码:
package com.ycy1;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class Test03 {
public static void main(String[] args) {
//请将对员工对象进行序列化和反序列化
//序列化
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream("E:\\text2.txt");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
Employee employee = new Employee("ycy", 20);
objectOutputStream.writeObject(employee);
objectOutputStream.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//反序列化
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream("E:\\text2.txt");
ObjectInputStream objectinputStream = new ObjectInputStream(fileInputStream);
Object object = objectinputStream.readObject();
objectinputStream.close();
System.out.println(object);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}