unity中四种读取txt文件的方法和一种写入txt方法

//注意:要读取的文件的编码类型要为utf-8,不然会出现中文乱码或者直接不显示,如果是其它编码方式可以把文件
//另保存为utf-8的格式




using UnityEngine;
using System.Collections;
using System.IO;//用法三的时候需要定义这个
using System.Text;//法二的时候需要使用定义这个


public class GUTexture : MonoBehaviour {
    GUIText m_GUIText;
    public TextAsset m_TextAsset;             //法一 ,这个需要在unity编辑器进行赋值,把.txt文本文件保存在Asset下的     Resources文件夹下,然后把.txt文件拖拽过来进行赋值
    TextAsset m_TextAsset1;
    string m_Str;
    string m_FileName;                             //法二要用
    string[] strs;                                        //法二要用

void Start () {
        m_GUIText = gameObject.GetComponent<GUIText>();               //找到该游戏物体的GUIText组件,用来显示读取到 的文本
        m_FileName = "Z800虚拟头盔说明书链接UTF-8.txt";                       //法二要用,要读取的文件名,这个是相对路径
}

 

   //鼠标进入该游戏物体执行 

    void OnMouseEnter() {

      m_GUIText.text = Resources.Load<TextAsset>("Z800虚拟头盔说明书链接").text;//法一,需要把文本文件保存在Asset文   件夹下的Resources文件夹内

        

 

 

       // ReadFile(m_FileName);//法二

       //m_GUIText.text = m_Str;//把读取到的内容放到GUIText组件中显示

 

 

        

 

       // Read();//法三

     //m_GUIText.text =m_Str;//把读取到的内容放到GUIText组件中显示

 

    }

 

 

 

 

//方法二:通过ReadFile(名字自己定义)方法来读取,传入的是文件路径
   void ReadFile(string FileName) {
        strs = File.ReadAllLines(FileName);//读取文件的所有行,并将数据读取到定义好的字符数组strs中,一行存一个单元
        for (int i = 0; i < strs.Length; i++)
        {
            m_Str += strs[i];//读取每一行,并连起来
            m_Str += "\n";//每一行末尾换行
        }
    }
     

 

 

 

 

 

 

   

//方法三: 下面这个是通过文件流来读取txt文件的方法
  /*  public void Read()
    {
        try
        {


            string pathSource = m_FileName;


            using (FileStream fsSource = new FileStream(pathSource,
                        FileMode.Open, FileAccess.Read))
            {
                // Read the source file into a byte array.  
                byte[] bytes = new byte[fsSource.Length];
                int numBytesToRead = (int)fsSource.Length;
                int numBytesRead = 0;
                while (numBytesToRead > 0)
                {
                    int n = fsSource.Read(bytes, numBytesRead, numBytesToRead);


                    if (n == 0)
                        break;
                    numBytesRead += n;
                    numBytesToRead -= n;
                }
                numBytesToRead = bytes.Length;
                //text = Encoding.Default.GetString(bytes);  
                m_Str= UTF8Encoding.UTF8.GetString(bytes);
            }
        }
        catch
        {
            //ioEx.Message  
        }
    }  
   

   */

 

 

 

 

 

/* 法四

   using System.IO;
  using System.Text;

 

   Debug.Log(File.ReadAllText("C:\\Users\\zxy\\Desktop\\Z800虚拟头盔说明书链接.txt", Encoding.Default));                                       // ReadAllText方法第一个参数是要读取txt文件的路径,第二个参数是编码方式,这里采用默认

*/       

 

 

 

 

/*一种以追加的方式写入txt方法

using System.IO;
using System.Text;

 File.AppendAllText("C:\\Users\\zxy\\Desktop\\Z800虚拟头盔说明书链接.txt", "我被写进来了",Encoding.Default);

//第一个参数是要写入的文件路径,第二个参数是要写入的文本,第三个参数是编码方式

*/

   
}

  • 6
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
是的,Unity 可以直接读取 Excel 文件。下面介绍两种方法: 1. 使用 ExcelDataReader ExcelDataReader 是一个开源的 .NET 库,可以读取 Excel 文件。要使用 ExcelDataReader,需要先安装该库。可以通过 NuGet 包管理器安装,或者直接从 GitHub 下载源代码并手动导入到 Unity 项目。 以下是一个简单的示例代码,演示如何使用 ExcelDataReader 读取 Excel 文件: ```csharp using System.IO; using ExcelDataReader; public void ReadExcelFile(string filePath) { using (FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read)) { IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream); // 获取工作表数量 int sheetCount = reader.ResultsCount; for (int i = 0; i < sheetCount; i++) { // 选择工作表 reader.ChangeSheet(i); // 获取行数和列数 int rowCount = reader.RowCount; int columnCount = reader.FieldCount; // 读取数据 for (int j = 0; j < rowCount; j++) { for (int k = 0; k < columnCount; k++) { Debug.Log(reader.GetValue(j, k)); } } } } } ``` 在上面的示例,我们首先打开 Excel 文件,然后使用 ExcelDataReader 读取文件。接下来,我们循环遍历每个工作表,获取行数和列数,然后读取数据并输出到控制台。 2. 使用 NPOI NPOI 是另一个开源的 .NET 库,可以读取写入 Excel 文件。要使用 NPOI,需要先安装该库。可以通过 NuGet 包管理器安装,或者直接从 GitHub 下载源代码并手动导入到 Unity 项目。 以下是一个简单的示例代码,演示如何使用 NPOI 读取 Excel 文件: ```csharp using System.IO; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; public void ReadExcelFile(string filePath) { // 打开 Excel 文件 using (FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { // 创建工作簿 IWorkbook workbook = new XSSFWorkbook(stream); // 获取工作表数量 int sheetCount = workbook.NumberOfSheets; // 遍历工作表 for (int i = 0; i < sheetCount; i++) { // 获取工作表 ISheet sheet = workbook.GetSheetAt(i); // 获取行数和列数 int rowCount = sheet.LastRowNum + 1; int columnCount = sheet.GetRow(0).LastCellNum; // 读取数据 for (int j = 0; j < rowCount; j++) { IRow row = sheet.GetRow(j); for (int k = 0; k < columnCount; k++) { ICell cell = row.GetCell(k); Debug.Log(cell.ToString()); } } } } } ``` 在上面的示例,我们首先打开 Excel 文件,然后使用 NPOI 创建工作簿。接下来,我们循环遍历每个工作表,获取行数和列数,然后读取数据并输出到控制台。 需要注意的是,使用 ExcelDataReader 和 NPOI 都需要安装相应的库,并且在读取 Excel 文件时需要指定文件路径。在实际使用,还需要根据实际情况进行错误处理和数据转换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxy2847225301

测试使用

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值