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 文件的寫入與讀取,感謝閱讀的朋友們!!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章