需要using System.IO;
主要代码如下:
private string fileDir; // 文件路径
public void Init()
{
// 创建文件夹路径
string dir = "";
#if UNITY_EDITOR
dir = Application.dataPath.Replace("Assets", "/GameData"); //Application.dataPath在电脑上为Assets资源文件夹的绝对路径,但是在移动端它是完全没用
#endif
#if UNITY_ANDROID && !UNITY_EDITOR
dir = Application.persistentDataPath + "/GameData"; //Application.persistentDataPath路径,这个路径可读、可写,但是只能在程序运行时才能读写操作,不能提前将数据放入这个路径。
#endif
if (!Directory.Exists(dir))
Directory.CreateDirectory(dir);
fileDir = dir + "/GameData.txt";
Debug.Log("fileDir=" + fileDir);
if (!File.Exists(fileDir))
{
InitGameData(); // 初始化关卡数据
}
else
{
ReadGameData();
}
}
private void InitGameData()
{
Debug.Log("初始化关卡数据");
string strsWrite = null;
// 创建txt文件,用于存储GameData
StreamWriter sw = File.CreateText(fileDir);
// 初始化数据.....
// 写入文档
sw.Write(strsWrite);
sw.Flush();
sw.Close();
}
private void ReadGameData()
{
Debug.Log("读取关卡数据");
// 读取关卡数据
string[] strsRead = File.ReadAllLines(fileDir); // 读取文件的所有行,并将数据读取到定义好的字符串数组,一行存一个单元
}
// 保存关卡数据
public void SaveGameData()
{
Debug.Log("SaveGameData");
string strsWrite = null;
// 关卡数据....
// 写入文档
File.WriteAllText(fileDir, strsWrite);
}