Unity各平台本地路劲问题
来源:互联网 发布:mac的扑克游戏在哪里 编辑:程序博客网 时间:2024/04/30 02:22
各平台本地路径问题, 此路径不是 Unity工程中 Assets 文件加下的路径, 在PC端为本地路径,在移动端为沙盒路径,所以文件存储在 Unity工程Assets下,在移动端是不能用如下方法读取的
将代码挂在摄像机上运行即可
using UnityEngine;using System.Collections;using System.IO;public class Read : MonoBehaviour { private string path = ""; string content = "";// Use this for initializationvoid Start () {
path = Application.persistentDataPath; //获取本地路径 //在iphone,Android平台上为沙盒路径, 在PC端为 本地 路径, 切记不是在Unity工程中“Assets”下的路径#if ((UNITY_IPHONE || UNITY_ANDROID) && (!UNITY_EDITOR)) path += "/Documents";#else path = Application.dataPath; // PC端,本地路径#endif //如果平台上该路径不存在,即没有相应的文件夹,按照该路径创建一个 if (!Directory.Exists(path)) { Directory.CreateDirectory(path); }} void OnGUI() { if (GUI.Button(new Rect(50, 50, 200, 50), "Read")) { //读取文件 ReadMyTxt(path, "AAA.txt"); } if (GUI.Button(new Rect(50, 150, 200, 50), "Create")) { CreateTxt(path, "AAA.txt", "aaaaaaaaaabbbbbbbbbbcccccccccdddddddddd"); } if (GUI.Button(new Rect(50, 300, 200, 50), "Clear")) {//清空数据 content = ""; } GUI.Label(new Rect( 50, 500, 300, 80), "path : " + path); GUI.Label(new Rect(50, 600, 300, 80), "content : " + content); } //读取txt文件,参数1为路径,参数2为文件名(要带后缀) private void ReadMyTxt(string path, string txtName) { string sss = path + "/" + txtName; if (!File.Exists(sss)) //如果文件不存在退出 { content = "!Exists " + sss; return; } try { //实例化文件流,参数1 路径,参数2文件操作方式 FileStream file = new FileStream(sss, FileMode.Open); StreamReader sr = new StreamReader(file); content = sr.ReadToEnd(); //从文件头读取到文件尾 sr.Close(); //关闭流释放空间 file.Close(); } catch{} } //创建文件,参数1 路径,参数2 文件名,参数3 写入信息 private void CreateTxt(string path, string txtName, string info) { string sss = path + "/" + txtName; try { StreamWriter sw; FileInfo t = new FileInfo(sss); //如果文件不存在则创建一个 if (!t.Exists) { sw = t.CreateText(); } else { sw = t.AppendText(); } //写入信息 sw.WriteLine(info); sw.Close(); sw.Dispose(); } catch {} }}
本脚本适合在有服务器的情况下,项目更新时从服务器加载一些文件,然后将文件写入到本地(在移动平台为写入沙盒)
注意:在Unity项目中Assets下创建的文件夹,里边存放的一些文件,在安装时,是不会写入到移动端的沙盒路径内的,所以如果在开发中本来已经放入工程中的文件信息,用该方法是读取不到文件的。
(至于在项目中存放的文件信息如何读取,请在后续本人后续的博客中寻找)
0 0
- Unity各平台本地路劲问题
- Unity不同平台路径问题
- unity移动平台路径问题
- Unity集成JPush本地消息推送问题
- UNITY 微信平台相关的问题
- unity各平台判断条件
- 关于unity数值资源序列化后在windows和android平台的本地读取
- 关于Unity发布iOS平台代码混淆问题
- 关于Unity发布iOS平台代码混淆问题
- Unity发布到iOS平台后的相关问题
- ShareSDK for Unity iOS平台接入遇到的问题
- unity各平台路径,存放数据!
- unity各平台路径,存放数据!
- Unity-读取本地txt
- Unity-读取本地txt
- unity PlayerPrefs本地储存
- unity 本地读写sqllite
- Unity平台宏定义
- 睡了好久哇
- mysql命令行修改字符编码
- Binary Tree Level Order Traversal II
- JAVA类加载
- coreseek错误WARNING: failed to open pid_file '/usr/local/coreseek/var/log/searchd_mysql.pid'.
- Unity各平台本地路劲问题
- USB spec TT 部分的摘要
- Struts2下的JFreeChart应用
- 【从零开始学hadoop】1. hadoop环境搭建
- 2014阿里巴巴 实习生电面题目:输出给定字符串的全部连续子串
- Json、JavaBean、Xml之间的相互转换工具
- MySQL配置文件my.cnf设置
- 漫谈程序员系列:怎样成为技术达人
- android开发中常用命令