序列化和反序列化

2021-09-24 17:21:36 字數 1860 閱讀 7351

建立乙個objectoutputstream物件,在構造方法中傳遞位元組輸出流.

建立要寫入到檔案的物件,但是,注意這個物件所在的類一定要實現serializable序列化介面,不然會報錯沒有序列化異常.

用objectoutputstream物件中的writeobject方法把物件寫入到檔案中.

釋放資源

案例(將person物件存放到專案目錄下的指定檔案中):

public class objectoutputstreamdemo1

}//程式執行後,person就會寫入到檔案"person序列化檔案.txt"中,不過我們開啟是亂碼,因為我們是二進位制位元組儲存的,我們看不懂的,所以要想知道是啥,就得反序列化回去

建立乙個objectinputstream物件,在構造方法中傳遞位元組輸入流.

使用objectinputstream物件中的readobject方法讀取儲存物件的檔案.

釋放資源.

使用讀取出來的物件.

案例(還是要注意person類要實現serializable介面):

public class objectinputstreamdemo1 

}

類必須要實現serializable序列化標記介面

必須存在物件對應的class檔案

/**

* 序列化練習: 序列化集合

* 當我們想在檔案中儲存多個物件的時候,

* 我們就可以把多個物件儲存到乙個集合中,

* 對集合進行序列化和反序列化

*/public class serializabletest

/*** 序列化方法

*/private static void output() throws ioexception

objectoutputstream outputstream = new objectoutputstream(new fileoutputstream("list.txt"));

outputstream.writeobject(list);

system.out.println("序列化完成!");

system.out.println("---------------");

}/**

* 反序列化方法

*/private static void input() throws ioexception, classnotfoundexception

}}

序列化和反序列化 C 序列化與反序列化。

序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...

序列化和反序列化

先定義乙個類 serializable xmlroot shintech public class person set public string name set public person this 0,string.empty public person int m age,string m...

序列化和反序列化

引文來自 序列化和反序列化我們可能經常會聽到,其實通俗一點的解釋,序列化就是把乙個物件儲存到乙個檔案或資料庫欄位中去,反序列化就是在適當的時候把這個檔案再轉化成原來的物件使用。using system using system.collections using system.text namesp...