序列化和反序列化

2021-09-29 23:10:41 字數 1009 閱讀 4236

概念

序列化把物件轉換為位元組序列的過程叫做物件的序列化,方便持久化到磁碟或者網路傳輸。

可分為兩步:將物件轉換為位元組陣列,再將位元組陣列儲存到磁碟

反序列化

把位元組序列恢復為物件的過程叫做物件的反序列化,可以是從檔案中,也可以是網路傳輸過來的。

什麼時候需要序列化

當把記憶體中的物件狀態儲存到乙個檔案中或資料庫中時

當想用套接字(socket)在網路上傳送物件的時候…

如何實現序列化

​ 只有實現了 serializable 介面或其子介面 exteralizable 的類的物件才能被序列化

步驟​ 首先定義乙個實現了serializable介面的person類

public

class

person

implements

serializable

物件序列化

建立乙個物件輸出流,它可以包裝乙個其他型別的目標輸出流,如檔案輸出流

通過物件輸出流的writeobject()方法寫物件

public

class

test

//序列化操作

public

static

void

serializeperson()

throws exception

}

物件反序列化

建立乙個物件輸入流,它可以包裝乙個其他型別的源輸入流,如檔案輸入流

通過物件輸入流的readobject()方法讀取物件

注:通過此方法建立乙個物件,是不會呼叫建構函式的

public

class

test

//反序列化操作

private

static person deserializeperson()

throws exception

}

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