您的位置:首页 > 其它

使用BinaryFormatter进行序列化

2010-10-07 14:50 405 查看
序列化例子:

using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace ConsoleApplication23
{
[Serializable]
public class Login
{
private string s_username;
private string s_password;
[NonSerialized]
private string s_userid;
public string UserName
{
get { return s_username; }
set { s_username = value; }
}
public string PassWord
{
get { return s_password; }
set { s_password = value; }
}
public string UserID
{
get { return s_userid; }
set { s_userid = value; }
}
}
public class Test
{
/// <summary>
/// 序列化
/// </summary>
public void BinaryFormatterSerialize()
{
Login login = new Login();
login.UserName = "admin";
login.PassWord = "123456";
login.UserID = "s2";
FileStream fileStream = new FileStream("c://User.dat", FileMode.Create);
BinaryFormatter b = new BinaryFormatter();
//将一个对象图按字节的顺序持久化到一个指定的流
b.Serialize(fileStream, login);
fileStream.Close();
}
/// <summary>
/// 反序列化
/// </summary>
public void BinaryFormatterDeSerialize()
{
Login login = new Login();
login.UserName = "Jim";
FileStream fileStream = new FileStream("c://User.dat", FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryFormatter b = new BinaryFormatter();
//将一个持久化的字节序列转化为一个对象图
login = b.Deserialize(fileStream) as Login;
Console.WriteLine(login.UserName);
Console.WriteLine(login.PassWord);
Console.WriteLine(login.UserID);
fileStream.Close();
}
public static void Main()
{
Test test = new Test();
test.BinaryFormatterSerialize();
test.BinaryFormatterDeSerialize();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: