本文共 1705 字,大约阅读时间需要 5 分钟。
网上找到一些方法,二进制序列化现对于json不可视,稍加改进封装了下,代码具体如下
using UnityEngine;using System.Collections;using System.Collections.Generic;using System.IO;using System;using System.Runtime.Serialization.Formatters.Binary;public class SerializeTHFile{ public static void SerializeMethod(T tempSerializeList) // 二进制序列化 { //路径 string path = Application.isEditor ? Application.persistentDataPath.Replace("/" + Application.productName, "") : Application.persistentDataPath; path += "/保存文件名称" ; FileStream fs = new FileStream(path, FileMode.Create); try { BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fs, tempSerializeList); fs.Close(); } catch (Exception ex) { fs.Close(); Debug.Log(ex); } } public static T DeserializeMethod () // 二进制反序列化 { T tempDeserializeList ; string path = Application.isEditor ? Application.persistentDataPath.Replace("/" + Application.productName, "") : Application.persistentDataPath; path += "/读取文件名称" ; FileInfo binaryFile = new FileInfo(path); if (!binaryFile.Exists) { Debug.Log("反序列化文件不存在"); return default(T); } FileStream fs = new FileStream(path, FileMode.Open); try { BinaryFormatter bf = new BinaryFormatter(); tempDeserializeList = (T)bf.Deserialize(fs); fs.Close(); return tempDeserializeList; } catch (Exception ex) { Debug.LogWarning(ex); fs.Close(); File.Delete(path); return default(T); } }}
转载地址:http://xljti.baihongyu.com/