郑州宇泰信息技术有限公司返回旧站 付款方式 在线订单 网站报价 联系我们
news 技术中心
宇泰信息专注于中高端网站建设、网站设计、程序、软件开发以及FLASH多媒体制作。
Yu Tai info focusing on high-end website building, website design, programming, software development and flash production.

C#对象序列化和反序列化
作者:管理员 来源:本站 浏览次数:3864 发布时间:2014-12-5 13:32:59
C#对象序列化和反序列化,如下代码示例:

   using System; 
   using System.Text; 
   using System.Collections.Generic; 
   using System.IO; 
   using System.Runtime.Serialization.Formatters.Binary; 
    
   class SerializableOperate 
   { 
       private static void ObjectSerializable(object obj, string filePath) 
       { 
           FileStream fs = null; 
           try 
           { 
               fs = new FileStream(filePath, FileMode.Create); 
               BinaryFormatter bf = new BinaryFormatter(); 
               bf.Serialize(fs, obj); 
           } 
           catch (IOException ex) 
           { 
               Console.WriteLine("序列化是出错!"); 
           } 
           finally 
           { 
               if (fs != null) 
               { 
                   fs.Close(); 
               } 
           } 
       } 
       private static object ObjectUnSerializable(string filePath) 
       { 
           FileStream fs = null; 
           object obj = null; 
           try 
           { 
               fs = new FileStream(filePath, FileMode.OpenOrCreate); 
               BinaryFormatter bf = new BinaryFormatter(); 
               obj = bf.Deserialize(fs); 
           } 
           catch (IOException ex) 
           { 
               Console.WriteLine("反序列化时出错!"); 
           } 
           finally 
           { 
               if (fs != null) 
               { 
                   fs.Close(); 
               } 
           } 
           return obj; 
       } 
    
       static void Main(String[] args) 
       { 
           List list = new List
           "张三","李四","王五","赵柳","刘备" 
          }; 
           string filePath = "c:\\log.log"; 
           Console.WriteLine("开始序列化集合!请稍等..."); 
           SerializableOperate.ObjectSerializable(list, filePath); 
           Console.WriteLine("开始反序列化集合!请稍等..."); 
           list = (List)SerializableOperate.ObjectUnSerializable(filePath); 
           foreach (string str in list) 
           { 
               Console.WriteLine(str); 
           } 
       } 
   }