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 文件的写入与读取,感谢阅读的朋友们!!!!!

你可能感兴趣的:(unity3d)