//封装类
//序列化字段
[Serializable]
public class Person
{
private int id;
private string name;
public int Id { get; set; }
public string Name { get; set; }
//非序列化字段
[NonSerialized]
private string sex;
public string Sex
{
get { return sex; }
set { sex = value; }
}
public Person(int id, string name)
{
Id = id;
Name = name;
}
public Person(int id, string name, string sex) : this(id, name)
{
Sex = sex;
}
//使用序列化前,先引用using System.Runtime.Serialization.Formatters.Binary命名空间
void Write() //读
{
Person p=new Person(1001,"张三");
string path=Application.dataPath+"/File/a.txt";
using(FileStream fs=new FileStream(path,FileMode.Create,FileAccess.Write))
{
BinaryFormatter bf = new BinaryFormatter();//格式化器
bf.Serialize(fs, person);//序列化
fs.Close();
}
}
void Read() //写
{
string path=Application.dataPath+"/File/a.txt";
using(FileStream fs=new FileStream(path,FileMode.Open,FileAccess.Read))
{
BinaryFormatter bf = new BinaryFormatter();//格式化器
Person p=(Person)bf.Serialize(fs);//反序列化
print(Id+"\t"+Name);
fs.Close();
}
}