关于路径有4个类型:
Application.dataPath(只读):该路径指向咱们Unity编辑器的Asset文件夹
Application.persistentDataPath(可读可写):该路径指向iOS和Android的沙盒路径
Application.streamingAssetsPath(只读):streamingAsset文件夹路径,在任何平台均可以经过这个路径读取到文件夹里的内容
Application.temporaryCachePath(只读):临时数据文件路径
Resources下一般在放预制,StreamingAssets下放二进制文件(csv、bin、txt、xml、json、AB包等),安卓不能通过File类和FileStream来读取这个路径,只能通过WWW类获取。
读取csv代码如下:
public Dictionary<int, LingZhi> _InfoData = new Dictionary<int, LingZhi>();void Start(){StartCoroutine(Lingzhi());//Data infodata = CSV._Instance._InfoData[1];//Debug.Log(infodata.id);//Debug.Log(infodata.name);//Debug.Log(infodata.intro);}void Update(){}IEnumerator Lingzhi(){string fullFileName = Application.streamingAssetsPath + "/TianDao.csv";UnityWebRequest www = UnityWebRequest.Get(fullFileName);Debug.Log(www);yield return www.SendWebRequest();if (www.result == UnityWebRequest.Result.Success){var fileData = www.downloadHandler.text; //文件内的数据信息fileData = fileData.Replace("\r", "");fileData = fileData.Replace("\"", "");string[] infoDatas = fileData.Split('\n');for (int i = 2; i < infoDatas.Length; i++){if (infoDatas[i] != ""){string[] infos = infoDatas[i].Split(',');LingZhi data = new LingZhi(int.Parse(infos[0]), infos[1], int.Parse(infos[2]));//{// id = int.Parse(infos[0]),// name = infos[1],// intro = int.Parse(infos[2]),//};_InfoData.Add(data.id, data);}}LingZhi infodata = _InfoData[1];Debug.Log(infodata.id);Debug.Log(infodata.name);Debug.Log(infodata.sum);}else{}}}[System.Serializable]public class LingZhi{public int id;public string name;public int sum;public LingZhi(int id,string name,int sum){this.id = id;this.name = name;this.sum = sum;}}