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

看板Visual_Basic作者 (雲和山的彼端)時間10年前 (2013/08/22 23:10), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/2 (看更多)
請輸入專案類型(網站專案或者應用程式專案):應用程式 小弟是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 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.40.98.10

08/23 01:16, , 1F
What's your 問題 O_o?
08/23 01:16, 1F

08/23 08:24, , 2F
經人腦Compiler後 這行:RichTextBox1.Text = sr.ReadToEnd
08/23 08:24, 2F

08/23 08:25, , 3F
跟這行 Dim strelement(8) As String 邏輯上會有問題
08/23 08:25, 3F

08/23 08:25, , 4F
容易產生錯誤
08/23 08:25, 4F

08/23 08:26, , 5F
第一行錯誤在於有可能超過可容納上限
08/23 08:26, 5F

08/23 08:28, , 6F
第二行在於Split後 length不一定符合下面要填入的個數
08/23 08:28, 6F

08/25 20:22, , 7F
我到問題出在哪裡了,只要改變讀入richtextbox時檔案格
08/25 20:22, 7F

08/25 20:23, , 8F
謝謝你!! :)
08/25 20:23, 8F
文章代碼(AID): #1I5YdImI (Visual_Basic)
文章代碼(AID): #1I5YdImI (Visual_Basic)