/// <summary>
 /// 将 类数据, 序列化写入到文件中去.
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="fileName"></param>
 void IDataObjectSerialization.WriteToFile(DataObject obj, string fileName)
 {
     XmlSerializer xs = new XmlSerializer(typeof(DataObject));
     StreamWriter sw = new StreamWriter(fileName);
     xs.Serialize(sw, obj);
     sw.Close();
 }
        /// <summary>
        /// 将 类数据, 序列化写入到文件中去.
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="fileName"></param>
        void IDataObjectSerialization.WriteToFile(DataObject obj, string fileName)
        {
            // 创建stream类型引用fs,并传递fileName做路径参数
            Stream fs = new FileStream(
                fileName, FileMode.Create, FileAccess.Write, FileShare.None);

            // 调用serialize方法,传递fs和obj参数
            fmt.Serialize(fs, obj);

            //关闭fs对象
            fs.Close();
        }
        /// <summary>
        /// 将 类数据, 序列化写入到文件中去.
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="fileName"></param>
        void IDataObjectSerialization.WriteToFile(DataObject obj, string fileName)
        {
            // 创建stream类型引用fs,并传递fileName做路径参数
            Stream fs = new FileStream(
                fileName, FileMode.Create, FileAccess.Write, FileShare.None);

            // 构造 序列化类.
            DataContractJsonSerializer dcjs = new DataContractJsonSerializer(obj.GetType());

            // 写入文件数据流 
            dcjs.WriteObject(fs, obj);

            //关闭fs对象
            fs.Close();
        }
示例#4
0
        static void Main(string[] args)
        {

            DataObject testData = new DataObject();
            testData.UserName = "******";
            testData.Password = "******";

            testData.FirendList = new List<string>();
            testData.FirendList.Add("XMLDataObjectSerialization");
            testData.FirendList.Add("BinaryDataObjectSerialization");


            Console.WriteLine("原始数据:");
            Console.WriteLine(testData.ToString());



            IDataObjectSerialization iService = null;



            Console.WriteLine("测试使用 XML 进行 序列化与反序列化!");
            
            iService = new XMLDataObjectSerialization();

            // 写入文件.
            iService.WriteToFile(testData, "test.xml");
            
            // 读取文件.
            Console.WriteLine(iService.ReadFromFile("test.xml"));






            Console.WriteLine("测试使用 BinaryFormatter 进行 序列化与反序列化!");

            iService = new BinaryDataObjectSerialization();

            // 写入文件.
            iService.WriteToFile(testData, "test.dat");

            // 读取文件.
            Console.WriteLine(iService.ReadFromFile("test.dat"));






            //Console.WriteLine("测试使用 SoapFormatter 进行 序列化与反序列化!");

            //iService = new SoapDataObjectSerialization();

            //// 写入文件.
            //iService.WriteToFile(testData, "test.soap");

            //// 读取文件.
            //Console.WriteLine(iService.ReadFromFile("test.soap"));





            Console.WriteLine("测试使用 System.Runtime.Serialization.Json 进行 序列化与反序列化!");

            iService = new JsonDataObjectSerialization();

            // 写入文件.
            iService.WriteToFile(testData, "test.js");

            // 读取文件.
            Console.WriteLine(iService.ReadFromFile("test.js"));



            Console.ReadLine();
        }