使用 Serialization 保存数据到文件

看 MSDN 序列化与反序列化说明, 

BinaryFormatter.Serialize 方法 (Stream, Object)

using System.Runtime.Serialization.Formatters.Binary;

        int[,] array = new int[10,29];             // initialize multi-dimensional array. 
        string fileName = "file.dat";    
        BinaryFormatter bf = new BinaryFormatter();   
        FileStream fs = new FileStream(filaName, FileMode.Create, FileAccess.Write);   
        bf.Serialize(fs, array);  

 序列化与反序列化

            //创建Programmer列表,并添加对象            
            List<Programmer> list = new List<Programmer>();            
            list.Add(new Programmer("李志伟", true, "C#"));            
            list.Add(new Programmer("Coder2", false, "C++"));            
            list.Add(new Programmer("Coder3", true, "Java"));
            
            //使用二进制序列化对象            
            string fileName = @"D:\users\lizw\桌面\Programmers.dat";//文件名称与路径
            
            Stream fStream = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite);
            
            BinaryFormatter binFormat = new BinaryFormatter();//创建二进制序列化器
            
            binFormat.Serialize(fStream, list);
            
            //使用二进制反序列化对象            
            list.Clear();//清空列表            
            fStream.Position = 0;//重置流位置
            
            list = (List<Programmer>)binFormat.Deserialize(fStream);//反序列化对象            
            foreach (Programmer p in list)                
            {                
                Console.WriteLine(p);                
            }
            
            Console.Read();            

 

posted @ 2016-12-05 00:00  ouyang80  阅读(157)  评论(0编辑  收藏  举报