深入理解序列化和反序列化

2021-08-28 11:23:22 字數 1114 閱讀 7877

序列化: 就是將記憶體中的物件轉換為位元組序列,方便持久化到磁碟或者網路傳輸。

物件序列化過程可以分為兩步:

第一: 將物件轉換為位元組陣列

第二: 將位元組陣列儲存到磁碟

public

static

byte

getbytearray4object

(object obj)

throws exception

public

static

void

writebytearraytofile

(string textfilepath,

byte

bytearr)

throws exception

反序列化 就是將位元組序列轉換為記憶體中的物件

可以是檔案中的,也可以是網路傳輸過來的

// 從檔案中反序列化

fileinputstream fis=

newfileinputstream

(textfilepath)

; objectinputstream ois=

newobjectinputstream

(fis)

; user user2=

(user) ois.

readobject()

;//*************************

// 位元組流中反序列化

byte

bytearr=

getbytearray4object

(user);

bytearrayinputstream bais=

newbytearrayinputstream

(bytearr);

objectinputstream ois=

newobjectinputstream

(bais);

user user2=

(user)ois.

readobject()

;

物件的序列化和反序列化主要就是使用objectoutputstream 和 objectinputstream

序列化與反序列化 深入理解

序列化指的是將乙個記憶體物件轉化成一串位元組資料 儲存在乙個位元組陣列中 可用於儲存到本地檔案或網路傳輸。反序列化就是將位元組資料還原成記憶體物件。如 struct student 將乙個student物件轉換成位元組資料儲存在bytearray 20 中稱為序列化 如 int count 0 ch...

序列化和反序列化 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...