博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二进制BinaryFormatter 泛型 序列化与反序列化 (保存文件到本地和读取)
阅读量:4147 次
发布时间:2019-05-25

本文共 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/

你可能感兴趣的文章
import和require有什么区别?export和exports呢?
查看>>
Object.create, Object.defineProperties有什么区别?
查看>>
bat脚本实现打开关闭exe应用
查看>>
oracle创建表空间、创建用户授予权限
查看>>
Java中BigDecimal类详解
查看>>
简单的带你了解Java是如何实现数据脱敏
查看>>
20个常用的IDEA快捷键分享给需要的小伙伴
查看>>
浅谈Java1.8的新特性
查看>>
带你走进iView的穿梭框
查看>>
三分钟让你了解MVC和MVVM模式
查看>>
jsp自定义标签
查看>>
java反射机制
查看>>
什么是html5?了解它是什么?用来做什么?有什么用?
查看>>
HTML5为什么要保留常用元素呢!!!
查看>>
什么是spring,它能够做什么?
查看>>
Java白皮书的关键术语
查看>>
关于Java的常见误解
查看>>
关于URL地址的解释,让你深入了解URL
查看>>
我们为什么要使用泛型程序设计?谁想成为泛型程序员?
查看>>
安装mongodb时为什么一直卡着不动
查看>>