通用类:
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
public class CSVController : MonoBehaviour
{
public static List<string[]> arrayData=new List<string[]>();//数据存储链表
public static int row;//行
public static int col;//列
public static void loadFile(string path,string fileName)
{
row = 0; ;
col = 0;
arrayData?.Clear();
StreamReader sr = null;
try
{
string file_url = Application.streamingAssetsPath + "/" + fileName;
if (!File.Exists(file_url))
{
return;
}
sr = File.OpenText(file_url);
Debug.Log("File Find in" + file_url);
}
catch
{
Debug.Log("File cannot find!");
return;
}
string line;
int colpre=0;
while ((line = sr.ReadLine()) !=null)
{
string[] coldata= line.Split(',');
arrayData.Add(coldata);
if (colpre < coldata.Length)
{
col = coldata.Length;
}
colpre = coldata.Length;
}
row = arrayData.Count;
sr.Close();
sr.Dispose();
}
/// <summary>
/// 获取字符数据
/// </summary>
/// <param name="row"></param>
/// <param name="col"></param>
/// <returns></returns>
public static string getString(int row,int col)
{
return arrayData[row][col];
}
/// <summary>
/// 获取值数据
/// </summary>
/// <param name="row"></param>
/// <param name="col"></param>
/// <returns></returns>
public static int getInt(int row, int col)
{
return int.Parse(arrayData[row][col]);
}
}
测试代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TestCVS : MonoBehaviour
{
void Start()
{
CSVController.loadFile(Application.streamingAssetsPath, "ExaminationQuestions.csv");
Debug.Log(CSVController.arrayData[1][2]);
Debug.Log(CSVController.row);
Debug.Log(CSVController.col);
}
}