zoukankan      html  css  js  c++  java
  • 将数据结构类型序列化和反序列化(BinaryFormatter类)

    简单例子如下:
    using System.IO;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Formatters.Binary;

    加上命名空间

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            //the struct to serializer
            [Serializable]
            public struct mydata
            {
                public string myname;
                public string mybirthday;
                public int age;
                public byte[] imageByte;
            }
    //选择保存路径
            private void button1_Click(object sender, EventArgs e)
            {
                saveFileDialog1.Filter = "XML文件|*.xml";
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                    textBox1.Text=saveFileDialog1.FileName;
            }
    //将数据结构序列化到bat或其他格式文件中
            private void button2_Click(object sender, EventArgs e)
            {
                if (textBox1.Text == "")
                    return;
                mydata newdata = new mydata();
                newdata.myname = "龙域";
                newdata.mybirthday = "09-31";
                newdata.age = 23;
                newdata.imageByte = Encoding.Default.GetBytes("999adfklasdjfl".ToCharArray());
                IFormatter formatter = new BinaryFormatter();
                FileStream fs = new FileStream(textBox1.Text, FileMode.OpenOrCreate);
                formatter.Serialize(fs, newdata);
                fs.Close();
            }
    //反序列化二进制文件
            private void button3_Click(object sender, EventArgs e)
            {
                IFormatter formter = new BinaryFormatter();
                FileStream fs = new FileStream(textBox1.Text,FileMode.Open);
                mydata mm=(mydata)formter.Deserialize(fs);
                MessageBox.Show("mm.Name="+mm.myname+"\r\n"+
                                 "mm.bothday=" + mm.mybirthday + "\r\n" +
                                 "mm.age="+mm.age+"\r\n"+
                                 "mm.imageByte="+Encoding.Default.GetString(mm.imageByte));
                fs.Close();
            }
        }
  • 相关阅读:
    数据的图表统计highcharts
    spring文件的上传和下载
    项目随笔@Service("testService")-------第二篇
    spring的四种数据源配置
    spring之interceptor篇
    spring过滤器篇
    SecurityManager篇
    Apache shiro篇
    日期工具方法
    定时器CronExpression配置说明详解
  • 原文地址:https://www.cnblogs.com/tuyile006/p/605958.html
Copyright © 2011-2022 走看看