Java IO流對象的序列化和反序列化實(shí)例詳解
Java—IO流 對象的序列化和反序列化
序列化的基本操作
1.對象序列化,就是將Object轉(zhuǎn)換成byte序列,反之叫對象的反序列化。
2.序列化流(ObjectOutputStream),writeObject 方法用于將對象寫入輸出流中;
反序列化流(ObjectInputStream),readObject 方法用于從輸入流中讀取對象。
3.序列化接口(Serializeable)
對象必須實(shí)現(xiàn)序列化接口,才能進(jìn)行序列化,否則會出現(xiàn)異常。這個接口沒有任何方法,只是一個標(biāo)準(zhǔn)。
package com.test.io;
import java.io.FileInputStream;
import java.io.FileOutputStream;import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class ObjectSerialzeTest {
/**
* 對象的序列化
* @param file
* @throws Exception
*/
public void ObjectOutput (String file) throws Exception {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
Student stu = new Student("002", "張四", 12);
oos.writeObject(stu);
oos.flush();
oos.close();
}
/**
* 對象的反序列化
* @param file
* @throws Exception
*/
public void ObjectInput(String file) throws Exception {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
Student stu = (Student)ois.readObject();
System.out.println(stu.toString());
ois.close();
}
public static void main(String[] args) throws Exception {
String file = "F:\\javaio\\obj.dat";
ObjectSerialzeTest ost = new ObjectSerialzeTest();
ost.ObjectOutput(file);
ost.ObjectInput(file);
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
java去除中文括號小括號,或者英文括號的實(shí)例代碼
這篇文章主要介紹了java去除中文括號小括號,或者英文括號的實(shí)例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
基于Java實(shí)現(xiàn)圖片相似度對比的示例代碼
很多時候我們需要將兩個圖片進(jìn)行對比,確定兩個圖片的相似度。本文將利用Java和OpenCV庫實(shí)現(xiàn)圖片相似度對比,感興趣的可以動手嘗試一下2022-07-07
java 讀取excel文件轉(zhuǎn)換成json格式的實(shí)例代碼
這篇文章主要介紹了 java 讀取excel文件轉(zhuǎn)換成json格式的實(shí)例代碼,需要的朋友可以參考下2018-04-04
SpringBoot加載應(yīng)用事件監(jiān)聽器代碼實(shí)例
這篇文章主要介紹了SpringBoot加載應(yīng)用事件監(jiān)聽器代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
深入理解springMVC中的Model和Session屬性
這篇文章主要介紹了深入理解springMVC中的Model和Session屬性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12

