Unity 简单的文件写入与读取
版权声明:本文为博主原创文章,未经博主允许不得转载。
我们在进行文件的写入和读取时必须要确定一个路径,那我们就需要用到获取路径的方法
Unity中获取路径的方法是:Application.dataPath;
然而还有获取一个临时的路径:Application.temporaryCachePath;
持久的数据路径:Application. persistentDataPath;
既然我们已经能够获取到路径了,那就废话少说上代码了
using UnityEngine;
using System.Collections;
using System.IO;//引用此命名空间是用于数据的写入与读取
using System.Text; //引用这个命名空间是用于接下来用可变的字符串的
using System;
public class CreateFile : MonoBehaviour {
public void Save()
{
StringBuilder sb = new StringBuilder();//声明一个可变字符串
for (int i = 0; i<10; i++)
{
//循环给字符串拼接字符
sb.append(i + '|');
}
//写文件 文件名为save.text
//这里的FileMode.create是创建这个文件,如果文件名存在则覆盖重新创建
FileStream fs = new FileStream(Application.dataPath + "/save.txt", FileMode.Create);
//存储时时二进制,所以这里需要把我们的字符串转成二进制
byte[] bytes = new UTF8Encoding().GetBytes(sb.ToString());
fs.Write(bytes, 0, bytes.Length);
//每次读取文件后都要记得关闭文件
fs.Close();
}
//读取
public void Load()
{
//FileMode.Open打开路径下的save.text文件
FileStream fs = new FileStream(Application.dataPath + "/save.txt", FileMode.Open);
byte[] bytes = new byte[10];
fs.Read(bytes, 0, bytes.Length);
//将读取到的二进制转换成字符串
string s = new UTF8Encoding().GetString(bytes);
//将字符串按照'|'进行分割得到字符串数组
string[] itemIds = s.Split('|');
for (int i = 0; i < itemIds.Length; i++)
{
Debug.Log(itemIds[i]);
}
}
}
具体使用时候字符串拼接的数据应该是你想要储存的数据,这里就是举例子简单给字符串一个值便于理解
我们上面用到了FileStream类,我们再来简单介绍一下它:
FileStream类是一个操作类,FileStream 对象表示在磁盘或网络路径指向文件的流,这个类提供了在文件中读写字节的方法。简单来说就是这个Filestream这个文件流对 .txt等文件读写内容时需要使用的一个工具。如果File类是一个总的文件的话,那么fileStream类就是对文件进行操作的笔。
FileStream类和StreamWriter,StreamReader类的区别在于FileStream类操作的是字节和字节数组,而StreamWriter等类操作的是字符数据。StreamWriter类操作的只能是文本类型的,而FileStream类的对象可以是任何类型的。操作文本的话用StreamWriter等比较方便。
文件的删除就直接可以调用File.Delete(“路径名”) 就可以啦~
本文介绍如何在Unity中实现文件的读写操作,包括使用FileStream进行文件的写入与读取,并展示了具体的代码实例。

3184

被折叠的 条评论
为什么被折叠?



