C#之序列化和反序列化
2016-01-06 13:29
495 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace 序列化和反序列化
{
/// <summary>
/// 序列化:对象转化为2进制
/// 反序列化:二进制转化为对象
/// 作用:传输数据
/// </summary>
class Program
{
static void Main(string[] args)
{
person p1=new person ();
p1.Age1 = 19;
p1.Name = "张三";
p1.Sex = '男';
//文件定向输出
using (FileStream file1 = new FileStream(@"C:\Users\守候。\Desktop\1.txt", FileMode.OpenOrCreate, FileAccess.Write ))
{
//序列化对象
BinaryFormatter fs = new BinaryFormatter();
fs.Serialize (file1, p1);
Console .WriteLine ("序列化完毕");
}
using(FileStream file1=new FileStream (@"C:\Users\守候。\Desktop\1.txt",FileMode.OpenOrCreate,FileAccess.Read ))
{
//反序列化对象;
BinaryFormatter fs=new BinaryFormatter ();
person p2=(person )fs.Deserialize (file1);
Console.WriteLine(p2.Name);
Console.WriteLine(p2.Sex);
Console.WriteLine(p2.Age1);
Console.ReadKey();
}
}
}
[Serializable]
public class person
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private char sex;
public char Sex
{
get { return sex; }
set { sex = value; }
}
private int Age;
public int Age1
{
get { return Age; }
set { Age = value; }
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace 序列化和反序列化
{
/// <summary>
/// 序列化:对象转化为2进制
/// 反序列化:二进制转化为对象
/// 作用:传输数据
/// </summary>
class Program
{
static void Main(string[] args)
{
person p1=new person ();
p1.Age1 = 19;
p1.Name = "张三";
p1.Sex = '男';
//文件定向输出
using (FileStream file1 = new FileStream(@"C:\Users\守候。\Desktop\1.txt", FileMode.OpenOrCreate, FileAccess.Write ))
{
//序列化对象
BinaryFormatter fs = new BinaryFormatter();
fs.Serialize (file1, p1);
Console .WriteLine ("序列化完毕");
}
using(FileStream file1=new FileStream (@"C:\Users\守候。\Desktop\1.txt",FileMode.OpenOrCreate,FileAccess.Read ))
{
//反序列化对象;
BinaryFormatter fs=new BinaryFormatter ();
person p2=(person )fs.Deserialize (file1);
Console.WriteLine(p2.Name);
Console.WriteLine(p2.Sex);
Console.WriteLine(p2.Age1);
Console.ReadKey();
}
}
}
[Serializable]
public class person
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private char sex;
public char Sex
{
get { return sex; }
set { sex = value; }
}
private int Age;
public int Age1
{
get { return Age; }
set { Age = value; }
}
}
}