1. 程式人生 > >JAVA基礎 之 關於序列化與反序列化

JAVA基礎 之 關於序列化與反序列化

序列化Serializable,是指將JAVA物件轉換為字元序列的過程,將物件的各屬性儲存起來,在適當的時候獲取並使用。

反序列化是和序列化相反的過程,就是把字元序列轉化為物件的過程。
在JAVA編碼中被廣泛提及,主要應用在以下情況中:
1.持久化儲存資料;
2.程序間的遠端通訊。


JAVA物件Person的例項化seriaObject
private static final String FILE_NAME="d:/test.txt";

//序列化
FileOutputStream fos = new FileOutputStream(FILE_NAME);
ObjectOutputStream out=new ObjectOutputStream(fos);
out.writeObject(seriaObject);
out.close();
fos.close();

//反序列化
FileInputStream fis = new FileInputStream(FILE_NAME);
ObjectInputStream in=new ObjectInputStream(fis);
Object obj = in.readObject();
in.close();
fis.close();

注意:
1.不可被序列化型別變數:static,transient
2.serialVersionUID不可隨意修改,在反序列化的時候serialVersionUID被修改的話,會失敗。