物件序列化與反序列化

2021-07-30 06:47:58 字數 1074 閱讀 4282

我們常常需要將一些程式當前資訊儲存在檔案中,如果明文儲存,那麼資訊不安全,使用物件序列化和反序列化可解決此問題

1、將需要儲存的資訊封裝成類,用serializable標記

[serializable]//次標記必須,以宣告此student類可執行序列化操作

class student

public string gender

public int age

public datetime birthday

}2、序列化操作

student objstu = new student()

;//建立檔案流

filestream fs = new filestream("c:\\objstu.obj", filemode.create);

//建立二進位制格式化器

binaryformatter formatter = new binaryformatter();

//呼叫序列化方法

formatter.serialize(fs, objstu);

//關閉檔案流

fs.close();

3、反序列化

//建立檔案流

filestream fs = new filestream("c:\\objstu.obj", filemode.open);

//建立二進位制格式化器

binaryformatter formatter = new binaryformatter();

//呼叫序列化方法

student objstu = (student)formatter.deserialize(fs);

//關閉檔案流

fs.close();

//顯示物件屬性

this.txtname.text = objstu.name;

this.txtage.text = objstu.age.tostring();

this.txtgender.text = objstu.gender;

this.txtbirthday.text = objstu.birthday.toshortdatestring();

物件序列化與反序列化

using system using system.text using system.collections.generic using system.io using system.runtime.serialization.formatters.binary class serializabl...

物件序列化 與反序列化

1.序列化為二進位製流 view code?usingsystem usingsystem.collections.generic usingsystem.text usingsystem.runtime.serialization.formatters.binary usingsystem.io ...

物件序列化 反序列化

必須新增引用 using system.io using system.runtime.serialization using system.runtime.serialization.formatters.binary 方法 region 物件序列化 物件序列化 任意物件 字串 public st...