對象序列化與反序列化
要點:
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");
}
}
對象序列化與反序列化