unity中的TXT存储与读取

这个代码的用处就是存储的东西不多,用不到数据库甚至于Xml和json,用一个txt文档存储就可以了。
把文档的内容用数据流的方式读取和写入,用之前请先引入System.IO和System.Text 两个命名空间,在我看来比较方便,再小一点的数据存储就用Unity自带的PlayerPrefs类存储吧,但是手机端清楚缓存后就没有了,请注意。

写入TXT
        //第一步访问Txt文件
        string path = Application .dataPath + "/Map/Map1.txt" ;
        //文件流
        FileStream fs = File .OpenWrite(path);   
        //第二步填充内容
        StringBuilder sb = new StringBuilder ();
        for ( int i = 0; i < 35; i++)
        {
            for ( int j = 0; j < 35; j++)
            {
                sb.Append( Random .Range(0, 3));
            }
            sb.AppendLine();
        }
         //Using system.Text
        byte [] map = Encoding .UTF8.GetBytes(sb.ToString());           
        fs.Write(map, 0, map.Length);
        fs.Close();
        fs.Dispose();

读取TXT
  string path = Application .dataPath + "/Map/Map1.txt" ;
        //文件读写流
        StreamReader sr = new StreamReader (path);
        //读取内容
        string result = sr.ReadToEnd();
        //逐行截取(这样截取的数据可能会有问题,如多一行或对一个空格,需要调整)
        // 可以自行百度方法解决,也可以按实际手动修改
        string [] data = result.Split( '\n' );
        byte [,] mapData = new byte [35, 35];
        for ( int i = 0; i < 35; i++)
        {
            for ( int j = 0; j < 35; j++)
            {
                mapData[i, j] = byte .Parse(data[i][j].ToString());
            }
        }
        return mapData;

你可能感兴趣的:(Unity3D)