0.Application.persistentDataPath
string userPath = Application.persistentDataPath + "/user.json";
- Application.persistentDataPath是最合适用来存放下载资源的地方
- 全平台可修可改可新建.
- 只有在项目第一次运行之后才能找到这个路径,所以不合适预先存放东西
- IOS上该目录下的东西可以被iCloud自动备份
1.Resources文件夹
Resources.Load()
- Resources文件夹是一个只读的文件夹
- 建议这个文件夹下只放Prefab或者一些Object对象
- 放在这里的资源文件不管项目中有没有使用都会被打包.
2.StreamingAssets
下面是Unity官方给的代码,适合读取文件,我用的就是这个
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
public string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile");
public string result = "";
IEnumerator Example() {
if (filePath.Contains("://")) {
WWW www = new WWW(filePath);
yield return www;
result = www.text;
} else
result = System.IO.File.ReadAllText(filePath);
}
}
下面是网上的代码,不太好,因为Android设备最好用www读取
#if UNITY_EDITOR
string filepath = Application.dataPath +"/StreamingAssets"+"/my.xml";
#elif UNITY_IPHONE
string filepath = Application.dataPath +"/Raw"+"/my.xml";
#elif UNITY_ANDROID
string filepath = "jar:file://" + Application.dataPath + "!/assets/"+"/my.xml;
- StreamingAssets一般用来存放视频等文件,文件不会被Unity加密,
- 在pc/Mac电脑中可实现对文件实施“增删查改”等操作,但在移动端只支持读取操作。
- 只读的物件适合放这里
网友评论