UNITY3D使用C#脚本的几种读写TXT文本文件的方法
2022-7-14 14:17:48 点击:
/注意:要读取的文本文件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组件,用来显示读取到 的文本 m_FileName = "Z800虚拟头盔说明书链接UTF-8.txt"; //法二要用,要读取的文件名,这个是相对路径 } //鼠标进入该游戏物体执行 void OnMouseEnter() { m_GUIText.text = Resources.Load("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\\zhang\\Desktop\\wiseglove数据手套录制数据.txt", Encoding.Default)); // ReadAllText方法第一个参数是要读取txt文件的路径,第二个参数是编码方式,这里采用默认 //一种以追加的方式写入txt方法 using System.IO; using System.Text; File.AppendAllText("C:\\Users\\zxy\\Desktop\\wiseglove数据手套录制数据.txt", "我被写进来了",Encoding.Default); //第一个参数是要写入的文件路径,第二个参数是要写入的文本,第三个参数是编码方式 }
- 上一篇:深海探测技术研发和展望 2022/7/18
- 下一篇:使用UNITY3D MonoDevelop不能粘贴外部代码文 2022/7/13