| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using UnityEngine;
- using System.IO;
- using System.Text;
- namespace WildAttack
- {
- /// <summary>
- /// CSV读表工具类
- /// </summary>
- public class CSVUtils : Singleton<CSVUtils>
- {
- #region Members
- //利用二维数组存储对应行和列中的字符串
- public string[][] m_ArrayData;
- #endregion
- #region Functions
- public string[] LoadFile(string path, string fileName)
- {
- //读取新文件前保证之前的数据为空
- m_ArrayData = new string[0][];
- string fillPath = path + "/" + fileName;
- //解析每一行的数据
- string[] lineArray;
- try
- {
- //注意编码方式,这里用的是Windows系统自定义的编码方式Encoding.Default,其实也就是GB2312(简体中文),编码不对应的话解析出来很可能是乱码
- lineArray = File.ReadAllLines(fillPath, Encoding.GetEncoding("utf-8"));
- //Debug.Log("file finded!");
- }
- catch
- {
- //Debug.Log("file not find!");
- return null;
- }
- return lineArray;
- }
- // 下面两个API改协程实现 pc可直接调用 android端用协程
- //public void SaveData(string[] lineArr)
- //{
- // m_ArrayData = new string[lineArr.Length][];
- // for (int i = 0; i < lineArr.Length; i++)
- // {
- // //CSV格式的文件采用英文逗号作为分隔符
- // m_ArrayData[i] = lineArr[i].Split(',');
- // }
- //}
- //外部调用的取值接口,需要先LoadFile()后才能返回正确的数据
- //public string GetVaule(int row, int col)
- //{
- // return m_ArrayData[row][col];
- //}
- #endregion
- }
- }
|