二进制BinaryFormatter 泛型 序列化与反序列化 (保存文件到本地和读取)
2017-06-08 09:38
483 查看
网上找到一些方法,二进制序列化现对于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>(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>() // 二进制反序列化 { 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); } } }
相关文章推荐
- DataTable的序列化和反序列化(格式不变保存文件和读取)
- 简单的序列化 和反序列化 ,将对象存储到本地文件中
- asp读取远程文件并保存到本地代码
- Android文件的保存(本地和SD卡)与读取
- Android文件的保存(本地和SD卡)与读取
- 谁能在同一文件序列化多个对象并随机读写(反序列化)?BinaryFormatter、SoapFormatter、XmlSerializer还是BinaryReader
- [分享][原创] C#序列化/反序列化对象.将对象写入文件,从文件读取对象.
- Web Service 通过BinaryFormatter序列化和反序列化泛型List
- flex读取本地文件,修改,并保存到本地
- C# StreamWriter写入一个ini文件到本地,StreamReader读取保存在本地的ini文件内容
- 踩坑事件:windows操作系统下的eclipse中编写SparkSQL不能从本地读取或者保存parquet文件
- 类对象序列化(反序列化)成xml文件或者二进制文件到本地文件方法
- 对象加密成文件,解密成对象 (读取字节法,不用序列化 反序列化)
- 【语言-C#】c# 工程文件的保存(序列化Serialize)与打开(反序列化Deseriali)
- asp读取远程文件并保存到本地代码
- Obj-C,文件加载与保存、序列化/反序列化
- C# ArrayList用BinaryFormatter序列化和反序列化进行文件读写的一个简单例子
- 读取/保存xml文件的类(序列化/反序列化)
- JAVA读取Oracle数据库BLOB字段数据文件并保存到本地文件
- serialVersionUID的作用 保存对象到本地文件并读取