unity 修改文件后缀_unity文件操作-添加。修改。删除

支持原创:http://www.manew.com/thread-23491-1-1.html、

相信大家在开发过程中,难免会保存一些文件在客户端进行本地化操作。

如:配置文件,状态文件,Assetbundle文件等等...

最近总有人问我:

1.保存了一个xml在客户端,能读取里面的数据,可是不能修改,甚至一修改就报错...

2.我在电脑上操作文件(xml、text、Assetbundle、json)都没问题,可是生成打包生成apk、ipa运行就出现各种问题,

要么数据读不到,要么数据不能操作...

这些问题的病症到底出现在什么地方?又该如何解决?

其实,就是对文件保存的路径在平台间的适用性,有些路径在各个平台上是不能通用的。

在此我对中路径操作做以下几种总结:

一.在项目根目录中创建Resources文件夹来保存文件。

可以使用Resources.Load("文件名字,注:不包括文件后缀名");把文件夹中的对象加载出来。

注:此方可实现对文件实施“增删查改”等操作,但打包后不可以更改了。

二.直接放在项目根路径下来保存文件

在直接使用Application.dataPath来读取文件进行操作。

注:移动端是没有访问权限的。

三.在项目根目录中创建StreamingAssets文件夹来保存文件。

1.可使用Application.dataPath来读取文件进行操作。

#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;

#endif

2.直接使用Application.streamingAssetsPath来读取文件进行操作。

注:此方法在pc/Mac电脑中可实现对文件实施“增删查改”等操作,但在移动端只支持读取操作。

四.使用Application.persistentDataPath来操作文件(荐)

该文件存在手机沙盒中,因为不能直接存放文件,

1.通过服务器直接下载保存到该位置,也可以通过Md5码比对下载更新新的资源

2.没有服务器的,只有间接通过文件流的方式从本地读取并写入Application.persistentDataPath文件下,然后再通过Application.persistentDataPath来读取操作。

注:在Pc/Mac电脑 以及跟Ipad、ipone都可对文件进行任意操作,另外在IOS上该目录下的东西可以被iCloud自动备份。

五.使用Application.temporaryCachePath来操作文件

操作方式跟上面Application.persistentDataPath类似。除了在IOS上不能被iCloud自动备份。

下图是几种文件在Pc中路径的具体位置

其实,在前面我已经发过一篇《》的文章,大家可以看看,详细了解下unity在移动平台中的可操作的具体路径。

有直接给出各平台对应路径哟,方便调试查看。

好了,uni

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值