资讯中心 Info
当前位置:爱尚教育 > 资讯中心 >
Java实现序列化与反序列化
发布日期:2020-08-25 阅读次数:

序列化:把对象转换为字节序列的过程称为对象的序列化。

反序列化:把字节序列恢复为对象的过程称为对象的反序列化。

序列化的用途:对象一般是在程序运行过程中被创建的,所以只存在于内存中,序列化可以将对象永久的保存在磁盘上,通常保存为文件。

Java语言中使用对象输入ObjectInputStream/输出流ObjectOutputStream实现对象的序列化与反序列化

 

代码实现如下:

/**

 * 实现Serializable接口的对象可以实现序列化和反序列化
 */
public class SerializeWukong implements Serializable {
 
private static final long serialVersionUID = 530529038334680084L;
 
private String name = "孙行者";
 
public String getName() {
return name;
}
 
/**
* 序列化
*/
public static void serialize() throws FileNotFoundException, IOException {
SerializeWukong wukong = new SerializeWukong();
//使用对象输出流ObjectOutputStream将对象保存到文件中
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(new File("wukong.txt")));
out.writeObject(wukong);
out.close();
}
 
/**
* 反序列化
* @throws ClassNotFoundException 
*/
public static void deserialize() throws FileNotFoundException, IOException, ClassNotFoundException {
           //使用对象输入流ObjectInputStream将文件中的对象读取到内存中
ObjectInputStream in = new ObjectInputStream(new FileInputStream(new File("wukong.txt")));
SerializeWukong wukong = (SerializeWukong)in.readObject();
in.close();
System.out.println(wukong.getName());
}
 
public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
//serialize();
 
deserialize();
}
 
}
课程体系
通知公告