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