1 using System.Collections;
2 using System.Collections.Generic;
3 using System.IO;
4 using System.Text;
5 using System.Xml.Serialization;
6
7 /// <summary>
8 /// 工具类
9 /// </summary>
10 public static class Tools {
11 /// <summary>
12 /// 存储数据 UTF8
13 /// </summary>
14 /// <param name="data">数据,自定义类</param>
15 public static void SaveData(GameData data)
16 {
17 string fileName = Consts.DataPath; // 文件名
18
19 // 文件流
20 Stream stream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
21 StreamWriter sw = new StreamWriter(stream, Encoding.UTF8); // UTF8
22 XmlSerializer xmlSerializer = new XmlSerializer(data.GetType()); // XML 文件序列化
23 xmlSerializer.Serialize(sw, data);
24
25 sw.Close();
26 stream.Close();
27 }
28
29 /// <summary>
30 /// 读取数据
31 /// </summary>
32 /// <returns>读取获得的数据</returns>
33 public static GameData GetDataWithOutBom()
34 {
35 GameData data = new GameData();
36
37 Stream stream = new FileStream(Consts.DataPath, FileMode.Open, FileAccess.Read);
38 // 忽略标记 true
39 StreamReader sr = new StreamReader(stream, true);
40 XmlSerializer xmlSerializer = new XmlSerializer(data.GetType());
41 data = xmlSerializer.Deserialize(sr) as GameData;
42
43 sr.Close();
44 stream.Close();
45
46 return data;
47 }
48 }