1. 程式人生 > >對象序列化與反序列化

對象序列化與反序列化

creat 準備 通過 print tst AD 節點流 tin AR

要點:

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

}

對象序列化與反序列化