Unity3D中读取CSV文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D中读取CSV文件相关的知识,希望对你有一定的参考价值。

直接上代码

Part1:

 1 using UnityEngine;
 2 using System.IO;
 3 using System.Collections.Generic;
 4 
 5 public class CSV
 6 {
 7     static CSV csv;
 8     public List<string[]> m_ArrayData;
 9     public static CSV GetInstance()
10     {
11         if (csv == null)
12         {
13             csv = new CSV();
14         }
15         return csv;
16     }
17     private CSV() { m_ArrayData = new List<string[]>(); }
18     public string GetString(int row, int col)
19     {
20         return m_ArrayData[row][col];
21     }
22     public int GetInt(int row, int col)
23     {
24         return int.Parse(m_ArrayData[row][col]);
25     }
26     public void LoadFile(string path, string fileName)
27     {
28         m_ArrayData.Clear();
29         StreamReader sr = null;
30         try
31         {
32             sr = File.OpenText(path + "//" + fileName);
33             Debug.Log("file finded!");
34         }
35         catch
36         {
37             Debug.Log("file don‘t finded!");
38             return;
39         }
40         string line;
41         while ((line = sr.ReadLine()) != null) 
42         {
43             m_ArrayData.Add(line.Split(,));
44         }
45         sr.Close();
46         sr.Dispose();
47     }
48 }

 Part2:

using UnityEngine;

public class FileController : MonoBehaviour
{

    // Use this for initialization
    void Start ()
    {
        CSV.GetInstance().LoadFile(Application.dataPath + "/Res", "myTest.csv");

        Debug.Log("GetString : " + CSV.GetInstance().GetString(1, 1));
        Debug.Log("GetInt : " + CSV.GetInstance().GetString(1, 2));
    }
}

补充

关于路径有4个类型:

Application.dataPath:该路径指向我们Unity编辑器的Asset文件夹

Application.persistentDataPath:该路径指向iosandroid的沙盒路径

Application.streamingAssetsPath:streamingAsset文件夹路径,在任何平台都可以通过这个路径读取到文件夹里的内容

Application.temporaryCachePath:临时数据文件路径

以上是关于Unity3D中读取CSV文件的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D读取数据Csv文件操作(创建读取写入修改)

python 读取多个csv文件中某一列,并生成一个新csv文件

nzSQLException 读取超时错误

unity3d如何动态读取外部的TXT文件到数组?

细说Unity3D——移动平台动态读取外部文件全解析

Unity3D加载dat文件中的文字内容