沙盒文件的存储与读取
来源:互联网 发布:企管家软件怎么样 编辑:程序博客网 时间:2024/05/18 02:01
using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO;//引用命名空间public class ReadData : MonoBehaviour { public BoolLevel leveBl;// BoolLevel为一个结构,leveBl用于存储Json解析出来的数据,并供unity使用,最后存入沙盒中void Start () { //读取沙盒文件数据 read("LevelBL2.txt");} void Update() { if (Input.GetKeyDown(KeyCode.A)) { //将数据存储在沙盒文件中 stroeData("LevelBL2.txt"); } } //读取沙盒文件 fileName为文件名 void read(string fileName) { //沙盒文件路径 string sbPath = Application.persistentDataPath + fileName; //如果沙盒存在文件 if (File.Exists(sbPath)) { //打开流文件 FileStream file = new FileStream(sbPath,FileMode.Open); //读取数据 StreamReader red = new StreamReader(file); string data = red.ReadToEnd(); //将数据解析 存入leveBl leveBl = JsonUtility.FromJson<BoolLevel>(data); //关闭文件 red.Close(); } //如果沙盒不存在文件 从unity StreamingAssets流文件中复制到沙盒中 else { //unity StreamingAssets文件路径 string oldPath=Application.dataPath+"/StreamingAssets/"+fileName; //将文件复制到沙盒中 File.Copy(oldPath,sbPath); print("Copyed"); //读取数据 FileStream file = new FileStream(sbPath, FileMode.Open); StreamReader red = new StreamReader(file); string data = red.ReadToEnd(); leveBl = JsonUtility.FromJson<BoolLevel>(data); red.Close(); } } //存储沙盒文件 void stroeData(string fileName) { //沙盒文件路径 string sbPath = Application.persistentDataPath + fileName; //创建一个新的文件将之前文件的替换(FileMode.Create) ,使用 FileMode.Open只能实现部分数据内容覆盖,会报错 //也就是在文件更新数据之前 必须将文件里面的内容清空,再存入数据,由于没有Clear()方法,就使用替换文件的形式 FileStream file = new FileStream(sbPath, FileMode.Create); StreamWriter write = new StreamWriter(file); //将leveBl编译成JSon然后存入沙盒文件中 write.Write(JsonUtility.ToJson(leveBl)); write.Close(); file.Close(); print("stroed"); } }
阅读全文
0 0
- 沙盒文件的存储与读取
- 文件的存储与读取
- 文件的存储与读取分析
- csv文件存储与读取
- plist文件与json的存储与读取
- NET 二进制形式的文件的存储与读取
- 文件的存储与读取分析后续具体应用
- .Net下二进制形式的文件存储与读取
- 【C#学习】xml文件的存储与读取
- 读取顺序存储的文件
- 大文件的读取、存储
- Android 文件的存储读取
- Android 文件的存储读取
- 数据的存储与读取
- SharedPreferences的存储与读取
- 数据库中存储与读取文件
- 数据库中存储与读取文件
- 数据库中存储与读取文件
- Spark 2.0分布式集群环境搭建
- 2017.6.22 大恒相机初步了解
- 作业
- 正本清源:LBS(基于位置服务)技术——高精准IP地址定位的8大误区(下)
- 【成长之旅】Say goodbye to the University
- 沙盒文件的存储与读取
- PAT 乙级 1002. 写出这个数 (20)
- 解决wordpress部分博客文章页面无法显示的问题
- lintcode python代码 80中位数
- form表单序列化 $('#form1').serialize()到后台没值
- [机器学习入门] 李宏毅机器学习笔记-18 (Deep Generative Model-part 1:深度生成模型-part 1)
- linux安装sysbase数据库参考网址
- POJ3469_Dual Core CPU_最小割::分两部分
- 面试算法题解----拓扑结构相同的子树问题