对象序列化与反序列化

要点:

  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");
}

}

猜你喜欢

转载自www.cnblogs.com/lgs-star/p/9026463.html