2012年10月24日 星期三

用 Big5 來讀取文字檔

上次教如何使用 My 來讀取文字類的檔案(利用 My 來 讀取 / 寫入 文字檔
那個方法超簡單的,一條程式碼就可以解決的。

但唯一缺點就是:不能讀英文字母以外的語言

所以今天我就來分享這個程式碼
來教如何讀取其他語言的文字檔吧!

程式碼 VB
Dim myreader As Microsoft.VisualBasic.FileIO.TextFieldParser
myreader = New Microsoft.VisualBasic.FileIO.TextFieldParser ( "C:\VB.txt", System.Text.Encoding .GetEncoding("big5"))
Dim thedelimiters As String() = {vbTab}
myreader.Delimiters = thedelimiters
While Not myreader.EndOfData
    ListBox1.Items.Add(myreader.ReadLine)
End While

VB 應用
以上程式碼對初心者來說有些複雜
但只要去用心看,我相信還是可以輕易的運用的

就來教教如何使用吧!

一、相關重要設定
第二行「myreader = New Microsoft.VisualBasic.FileIO.TextFieldParser ( "C:\VB.txt", System.Text.Encoding .GetEncoding( "big5"))」中的「 "C:\VB.txt"」就是要讀取的檔案路徑;「"big5"」就是中文的文字編碼,當然也可以改為「"UNICODE"」這樣的話連日文都可以讀取囉~


二、讀取的資料位置
While Not myreader.EndOfData
     ListBox1.Items.Add(myreader.ReadLine)
End While

While Not myreader.EndOfData

End While是在說我要讀取文字檔讀到最底時,跳出迴圈

ListBox1.Items.Add(myreader.ReadLine)
就是說所讀取的一行一行資料都要增加到 ListBox1 中,這樣就可以把所有的資料給讀出來囉~

當然,如果不想要用 ListBox 的話,我們也可以用 TextBox 來輸出資料~
程式碼如下:
While Not myreader.EndOfData
     TextBox1.Text = TextBox1.Text & vbCrLf & myreader.ReadLine
End While


這樣的話就會把資料輸出到 TextBox 上囉~


當然這些程式碼只是參考之用~程式碼會有需多變化
只要成果顯現的出來,那就是正確的程式碼!