/// <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(); }
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(); }