Unity存储数据的各种路径

Application.dataPath

用途:Editor插件中用来读取本地文件

Editor

权限:可读写*
 /Assets

Android

权限:不可读写
 /data/app/com.company.app/base.apk or /data/obb/xx.obb *指向此apk文件,也有可能指向obb文件。

iOS

权限:可读不可写
//Data 

Application.streamingAssetsPath

作用:此目录下的资源不会被Unity压缩,所以可以存储原始文件(视频等),AssetBundle

Editor:

权限:读写
 /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// 
or
/Users/username/Library/Application Support//

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

http://blog.csdn.net/hiramtan/article/details/49765171

你可能感兴趣的:(Unity存储数据的各种路径)