Unity 簡單的檔案寫入與讀取
阿新 • • 發佈:2018-12-26
我們在進行檔案的寫入和讀取時必須要確定一個路徑,那我們就需要用到獲取路徑的方法
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 檔案的寫入與讀取,感謝閱讀的朋友們!!!!!