• 您的位置:首頁 > 新聞動態 > Unity3D

    UNITY3D使用C#腳本的幾種讀寫(xiě)TXT文本文件的方法

    2019/11/12      點擊:
    //注意(yì):要讀取的文本文件TXT的編碼類型要為utf-8,不(bú)然會出現中文亂碼或(huò)者直接不顯示,如(rú)果是其它編碼方式可以把文件
    //另保(bǎo)存為UTF-8的格式(shì)
    using UnityEngine;
    using System.Collections;
    using System.IO;//用法三的時候需(xū)要定(dìng)義這個
    using System.Text;//法二的時候需要使用定義這個
    public class GUTexture : MonoBehaviour {
        GUIText m_GUIText;
        public TextAsset m_TextAsset;             //法(fǎ)一(yī) ,這個需要在unity編輯(jí)器進行賦值,把(bǎ).txt文本文件(jiàn)保(bǎo)存在Asset下的     Resources文件夾下,然後把.txt文件拖拽過來進行賦值
        TextAsset m_TextAsset1;
        string m_Str;
        string m_FileName;                             //法二要用(yòng)
        string[] strs;                                        //法二要用
    void Start () {
        m_GUIText = gameObject.GetComponent();               //找(zhǎo)到(dào)該遊戲(xì)物體的GUIText組件,用來顯示讀取到 的文本
        m_FileName = "Z800虛擬頭盔說明書(shū)鏈接UTF-8.txt";                       //法二要用,要讀取的文件名,這個是相對路(lù)徑
    }
    //鼠標進入(rù)該遊戲(xì)物(wù)體執行 
    void OnMouseEnter() {
       m_GUIText.text = Resources.Load("Z800虛(xū)擬(nǐ)頭盔說明書鏈接(jiē)").text;//法一,需要把文本文件保存在Asset文   件(jiàn)夾(jiá)下的Resources文件夾內
       // ReadFile(m_FileName);//法二
       //m_GUIText.text = m_Str;//把讀取到的內(nèi)容放到GUIText組件中顯示 // Read();//法三
         //m_GUIText.text =m_Str;//把讀取到的內容放到GUIText組件中顯(xiǎn)示
     }
    //方法二:通(tōng)過ReadFile(名(míng)字自己定義)方法來讀(dú)取,傳入的是文件路徑
    void ReadFile(string FileName) {
       strs = File.ReadAllLines(FileName);//讀取文件的所有行,並將(jiāng)數據(jù)讀取到定義好(hǎo)的字符數組strs中,一(yī)行存一個單元
       for (int i = 0; i < strs.Length; i++)
       {
        m_Str += strs[i];//讀取每一(yī)行,並連起來(lái)
        m_Str += "\n";//每一行末尾換行
        }
    }
    //方法三: 下麵這個是通過文件(jià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數據手套錄製(zhì)數據.txt", Encoding.Default));                                      // ReadAllText方法第一個參數是要讀取txt文件的路徑,第二個參數是編碼方式,這裏采(cǎi)用默認
     
    //一(yī)種(zhǒng)以追加的方式寫入txt方法
    using System.IO;
    using System.Text;
    File.AppendAllText("C:\\Users\\zxy\\Desktop\\wiseglove數據手套錄製(zhì)數據.txt", "我(wǒ)被寫進來了",Encoding.Default);
    //第一個參數是要寫入的文件路徑,第二個參數是要寫入的文本,第三個參數是編碼方式(shì)
    }
    

    AV永久天堂网_奇米狠狠色_亚洲欧美日韩动漫_欧美日韩视频在线观看免费一区二区_日韩精品一二三区_国产AV网站18禁止人_久久久久久精品人妻免费网站不卡_国产最新视频_另类免费视频在线视频二区_久久精品免视国产