对象序列化与反序列化

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 对象序列化与反序列化

java对象的序列化与反序列化

对象序列化与反序列化

Java学习笔记6.3.3 文件操作 - 对象序列化与反序列化

Java学习笔记6.3.3 文件操作 - 对象序列化与反序列化

个人浅析Hadoop序列化与反序列化