Application.dataPath
用途:Editor插件中用来读取本地文件
Editor
权限:可读写*
<project folder>/Assets
Android
权限:不可读写
/data/app/com.company.app/base.apk or /data/obb/xx.obb *指向此apk文件,也有可能指向obb文件。
iOS
权限:可读不可写
<app bundle>/<AppName.app>/Data
Application.streamingAssetsPath
作用:此目录下的资源不会被Unity压缩,所以可以存储原始文件(视频等),AssetBundle
Editor:
权限:读写
<project folder>/Assets/StreamingAssets *相当于 Application.dataPath+”/StreamingAssets”*
Android:
权限:只读
jar:file:// + Application.dataPath + “!/assets”
Example:
jar:file://data/app/com.company.app/base.apk!/assets
安卓中的资源是存储在APK压缩文件中的,所以不能通过System.IO来操作,只能通过www来进行读操作。 但可以使用第三方的压缩与解压缩库实现读写操作.比如SharpZipLib库,读取压缩包中的文件,添加或都重写压缩包
iOS:
权限:读写
Application.dataPath + “/Raw”
Application.persistentDataPath
作用:因为app升级不会导致此数据丢失,所以可以用来存储数据数据,在iOS平台可以被iCloud自动备份 权限:全平台读写
Editor:
C:/users/Administrator/AppData/LocalLow/<companyname>/<appname>
or
/Users/username/Library/Application Support/<companyname>/<appname>
Android
/storage/emulated/0/Android/data/com.company.product/files
iOS
/Documents
Application.temporaryCachePath
作用:存储临时数据,缓存数据 权限:全平台读写
Editor
/var/folders/xx/xx/xx/company/product c:/Users/Administrator/AppData/Local/Temp/company/product
Android
/storage/emulated/0/Android/data/com.company.product/cache
iOS
/Library/Caches
Resource
作用:存储在此目录下的资源会被压缩,全部被打入最终包。其中的资源只能通过Resource.Load来加载
URL路径
file:// + Path
安卓平台下的Application.streamingAssetsPath已经是url路径了,所以不用再加
工程目录
System.Environment.CurrentDirectory