[Serializable]
public class ContentStr
{
public string content { get; set; }
/// <summary> 序列化到"TreeViewTexted.dat"文件 </summary>
public void Serialize(string Paht)
{
try
{
using (Stream stream = new FileStream(Paht, FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
{
System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
formatter.Serialize(stream, this);
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary> 反序列化 </summary>
public ContentStr Deserialize(string Paht)
{
ContentStr instance = null;
try
{
if (File.Exists(Paht))
{
using (Stream stream = new FileStream(Paht, FileMode.Open, FileAccess.Read, FileShare.Read))
{
System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
instance = (ContentStr)formatter.Deserialize(stream);
}
}
return instance;
}
catch (Exception ex)
{
return instance;
}
}
}
以下是序列化与反序列化调用
ContentStr cs = new ContentStr();
///序列化
private void btnSave_Click(object sender, EventArgs e)
{
cs.content = textBox1.Text;
cs.Serialize("1.dat");//序列化文件保存到应用程序根目录下
}
///反序列化
private void btnOpenFile_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "*.dat|*.dat";
DialogResult dResult = ofd.ShowDialog(this);
if (dResult == DialogResult.OK)//打开序列化文件
{
cs = cs.Deserialize(ofd.FileName);
textBox1.Text = cs.content;
}
}
原创来自http://www.luofenming.com/show.aspx?id=ART2018051500001
转发请保留原创地址,谢谢!