Unity里面读取TXT格式文件并加载里面的的数据
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using System.Text.RegularExpressions;
using System;
using Random = UnityEngine.Random;
namespace Com.Rainier.WangJing
{
public class LoadData : MonoBehaviour
{
/// <summary>
/// 加载TXT文件,获取里面的数据,按行存取,数据标准化后按行再存入数组列表中
/// </summary>
/// <param name="fileName">txt存储路径</param>
/// <returns></returns>
public List<string[]> GetData(string fileName)
{
List<string> currentItem = new List<string>();//按txt文件中的行存取数据
List<string[]> targetData = new List<string[]>();//存储标准化后的数据
int count = 0;//记录行号
TextAsset textAsset = Resources.Load(fileName) as TextAsset;
string str = textAsset.text;
for (int i = 0; i < str.Length; i++)
{
string c = str.Substring(i, 1);
if (c == "\n")
{
count += 1;
continue;
}
if (currentItem.Count <= count)
{
currentItem.Add(c);
}
else
{
currentItem[currentItem.Count - 1] += c;
}
}
for (int i = 0; i < currentItem.Count; i++)
{
string itemData = currentItem[i].Trim();
string[] itemDataArray = Regex.Split(itemData, "/", RegexOptions.IgnoreCase);
targetData.Add(itemDataArray);
}
return targetData;
}
}
}
注意:我加载的TXT文件格式如下(是以“/”做的分隔)
有问题随时沟通,谢谢!