ZERO_BEYOND

博客园 首页 联系 订阅 管理
  56 随笔 :: 0 文章 :: 1 评论 :: 15460 阅读

1.二进制

复制代码
    private static void SaveByBinary()
    {
        //创建二进制格式化程序
        BinaryFormatter bf = new BinaryFormatter();
        //创建一个文件流
        FileStream fs = File.Create(GetFilePath(SaveDataType));
        //二进制方法序列化对象
        bf.Serialize(fs, GameData);
        //关闭流
        fs.Close();
    }

    private static void LoadByBinary()
    {
        //创建二进制格式化程序
        BinaryFormatter bf = new BinaryFormatter();
        //打开一个文件流
        FileStream fs = File.Open(GetFilePath(SaveDataType), FileMode.Open);
        //二进制方法序列化对象
        GameData = (SaveData)bf.Deserialize(fs);
        //关闭流
        fs.Close();
    }
复制代码

2.Json

复制代码
    private static void SaveByJson()
    {
        //将SaveData对象转换成json格式的字符串
        string _saveJson = JsonMapper.ToJson(GameData);
        //将字符串写到文件中
        StreamWriter sw = new StreamWriter(GetFilePath(SaveDataType));
        //写入
        sw.Write(_saveJson);
        //关闭流
        sw.Close();
    }

    private static void LoadByJson()
    {
        //创建流读取文件
        StreamReader sr = new StreamReader(GetFilePath(SaveDataType));
        //将读到的流转换成字符串
        string _saveJson = sr.ReadToEnd();
        GameData = JsonMapper.ToObject<SaveData>(_saveJson);
        //关闭流
        sr.Close();
    }
复制代码

3.Xml

过于繁琐,仅提供大概步骤

复制代码
    private static void SaveByXml()
    {
        //将SaveData对象转换成json格式的字符串
        string _saveJson = JsonMapper.ToJson(GameData);
        /*步骤
         * 1.创建xml文档 XmlDocument xmlDoc = new XmlDocument();
         * 2.创建根节点,设置根节点属性 可有可无
         * 3.创建根节点中的元素及元素中的元素,并添加到根节点中 xxx.AppendChild(elm); root.AppendChild(xxx);
         */
    }

    private static void LoadByXml()
    {
        /*步骤
         * 1.加载xml文档 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(GetFilePath(SaveDataType));
         * 2.通过节点名获取元素 XmlNodeList xxx = xmlDoc.GetElementsByTagName("xxx");
         * 3.遍历节点子节点,赋值
         */
    }
复制代码

4.PlayerPrefs

复制代码
    private static void SaveByPlayerPrefs()
    {
        //将SaveData对象转换成json格式的字符串
        string _saveJson = JsonMapper.ToJson(GameData);
        PlayerPrefs.SetString("SaveData", _saveJson);
        PlayerPrefs.Save();
    }

    private static void LoadByPlayerPrefs()
    {
        string _saveJson = PlayerPrefs.GetString("SaveData");
        GameData = JsonMapper.ToObject<SaveData>(_saveJson);
    }
复制代码

 

 
posted on   ZERO_BEYOND  阅读(201)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示