查看: 878|回复: 0
打印 上一主题 下一主题

[其他] IOS下文件保存和读取

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53488
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-8-29 02:34:59 |只看该作者 |倒序浏览
1、加import System.IO; //(JS写的)
2、定义如下变量:
                  
        private var fileName1 : String;
         
          private var fs1 : FileStream;
         
          private var sr1: StreamReader;
        Start方法:
                  

          function Start () {
         
          // fileName1 = Application.dataPath + “/Resource/” + “test.txt”; // pc test path fileName1 =

ChorusBinding.libraryPath() + “/test.txt”;//iphone真机路径
         
          fs1 = new FileStream(fileName1, FileMode.Open); sr1 = new StreamReader(fs1);
         
          //这里我做了一些操作,如读txt中的某一行LineStringInOneFile(2);//读第二行的文字
         
          ... //省略若干行
         
          fs1.Close();//关闭文件,这个不要忘记,以免出现内存问题
         
          }
说明:ChorusBinding.libraryPath()方法是用objective-c写的获取library目录。oc代码如下:
                  

         -(NSString *)GetLibraryPathToString
         
          {
         
          //    NSFileManager *fileManager = [NSFileManager defaultManager];
         
          //    NSError *error;
         
          NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
         
          NSString *libraryDirectory = [paths objectAtIndex:0];
         
          return libraryDirectory;
         
          }
4、 对于调用OC的方法,在unity3d中用[DllImport(“__Internal”)],具体代码见下面(C#写的)
                  

          [DllImport(“__Internal”)]
         
          private static extern void _copyModelConfigFiles();
         
          public static void copyModelConfigFiles() {
         
          _copyModelConfigFiles();
         
          }
       

5、读txt
                  

          //获得txt文件的总行数
         
          function ReadFile(filepathIncludingFileName : String) {
         
          var sr: StreamReader = new File.OpenText(filepathIncludingFileName);
         
          var input : String = “”; //读到的那一行的字符串
         
          var lineCount : int = 0;//总行数
         
          while (true) {
         
          input = sr.ReadLine();
         
          if (input == null) { break; }
         
          lineCount++;
         
          }
         
          sr.Close();
         
          }
         
          //返回某一行的字符串,i为传的行数,是第一个配置文件test.txt
         
          function LineStringInOneFile(i:int) {
         
          var lineContent : String=“”;
         
          var tempLine : int = 0;
         
          while(tempLine
         
          sr1.BaseStream.Seek(0, SeekOrigin.Begin);//重新读取第一行
         
          lineContent = sr1.ReadLine();
         
          if (lineContent == null) { break; }
         
          tempLine ++;
         
          }
         
          sr1.ReadToEnd();
         
          return lineContent;
         
          }

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-8-3 06:45 , Processed in 0.131027 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部