[.NET]讀取檔案並儲入陣列

作者: kirghizia (雲和山的彼端)   2013-08-22 23:10:07
請輸入專案類型(網站專案或者應用程式專案):應用程式
小弟是vb新手
最近在研究如何用openfiledialog讀取檔案,然後儲入陣列
compile後出現一些問題,不知道怎麼解決
請版上的前輩幫忙解惑
==========================
OpenFileDialog1.Filter = "txt(*.txt)|*.txt|csv(*.csv)|*.csv|所有檔案(*.*)|*.*"
'點選「開啟檔案」,並將檔案內容顯示在文字方塊中
If OpenFileDialog1.ShowDialog() =
System.Windows.Forms.DialogResult.OK Then
'設定目前表單Form1上方顯示的文字,為所讀取的檔案檔名
Me.Text = OpenFileDialog1.FileName
'將RichTextBox1載入外部檔案(LoadFile,為所讀取的檔案檔名),並指定
文字格式為RichText
RichTextBox1.LoadFile(OpenFileDialog1.FileName,
RichTextBoxStreamType.RichText)
Dim sr As New System.IO.StreamReader(OpenFileDialog1.FileName,
System.Text.Encoding.Default)
RichTextBox1.Text = sr.ReadToEnd
'讀取檔案中的內容,並存入陣列中
'宣告一些字串變數
Dim strline As String
Dim strelement(8) As String
'一行一行讀到進來
Do
'讀下一行
strline = sr.ReadLine()
'將所讀入的字串,依照 , 來拆解到陣列上
strelement = strline.Split(",")
'將將第1, 2, 3欄位拆解出
RichTextBox2.Text &= strelement(0) & vbTab & strelement(1) &
vbTab & strelement(2) & vbNewLine
Loop While (sr.Peek <> -1) '若讀到最尾端的資料,則sr.Peek() = -1
MessageBox.Show("欄位拆解完成", "成功新增",
MessageBoxButtons.OKCancel, MessageBoxIcon.Information)
sr.Close()
End If
作者: MOONRAKER (㊣牛鶴鰻毛人)   2013-08-23 01:16:00
What's your 問題 O_o?
作者: Marty (DNA探針)   2013-08-23 08:24:00
經人腦Compiler後 這行:RichTextBox1.Text = sr.ReadToEnd跟這行 Dim strelement(8) As String 邏輯上會有問題容易產生錯誤第一行錯誤在於有可能超過可容納上限第二行在於Split後 length不一定符合下面要填入的個數
作者: kirghizia (雲和山的彼端)   2013-08-25 20:22:00
我到問題出在哪裡了,只要改變讀入richtextbox時檔案格謝謝你!! :)

Links booklink

Contact Us: admin [ a t ] ucptt.com