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