对象序列化与反序列化
Posted lgs-star
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象序列化与反序列化相关的知识,希望对你有一定的参考价值。
要点:
1、类的对象要实现序列化,对象必须实现Serializable接口
2、将对象读取到文件或缓冲对象中然后再读取,关键是ObjectOutputStream(节点流) 类和 ObjectInputStream(节点流) 这两个处理流的writeObject(Object obj)和readObject{)方法
通过这两个方法读入和写出对象序列。
package com.exceptuion;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class SeriTest implements Serializable{
public static void main(String[]args) throws IOException, ClassNotFoundException
{
File file = new File("E:/temp");
System.out.println(file.exists());
if(!file.exists())
{
System.out.println("-----------");
file.createNewFile();
}
//准备输出流
FileOutputStream fileOutputStream = new FileOutputStream(file);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
//准备对象
SeriTest seriTest = new SeriTest();
//对象序列化输出
objectOutputStream.writeObject(seriTest);
//准备输入流
FileInputStream fileInputStream = new FileInputStream(file);
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
//读入对象序列
SeriTest obj = (SeriTest)objectInputStream.readObject();
obj.TestPrint();
}
private static void TestPrint()
{
System.out.println("Serializable test");
}
}
以上是关于对象序列化与反序列化的主要内容,如果未能解决你的问题,请参考以下文章
Java学习笔记6.3.3 文件操作 - 对象序列化与反序列化