[.NET] 讀入檔案後轉存陣列

看板Visual_Basic作者 (愛與勇氣的年代)時間9年前 (2014/10/25 15:18), 9年前編輯推噓1(108)
留言9則, 4人參與, 最新討論串1/1
鄉民大家好 小小有個簡單的觀念一直轉不過來 還請大家幫忙指點一下 待讀入檔案如下: 1 2 3 4 5 6 7 8 9 .....(有N行) 希望檔案逐行讀入後能轉變成一維或二維的陣列 方便後續使用 以後直接呼叫如 out(1) 或 out(1,2) 以下是我寫的CODE部分: Dim file01 As New System.IO.StreamReader("D:\file01.txt") Dim xx As String Dim i As Integer Dim out()() As String i = 0 Do While file01.Peek > -1 xx = file01.ReadLine out(i, i) = Split(xx, "") <== 似乎是卡在這行 QQ ? i = i + 1 Loop file01.Close() 還請鄉民們幫忙指點一下 QQ 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.161.6.116 ※ 文章網址: http://www.ptt.cc/bbs/Visual_Basic/M.1414221485.A.ECC.html

10/25 16:19, , 1F
少一個空白?
10/25 16:19, 1F

10/25 16:19, , 2F
Split(xx, " ")這樣?
10/25 16:19, 2F

10/25 16:36, , 3F
加入空白後有改善些 但還有個問題是這樣只抓到最後一行
10/25 16:36, 3F

10/25 20:31, , 4F
split得到的結果是一個陣列 裡面有幾項可以用ubound()
10/25 20:31, 4F

10/25 20:31, , 5F
得到 這樣知道怎麼改了吧
10/25 20:31, 5F
和大家分享一下 目前修改如下 : Dim fileReader As String fileReader = My.Computer.FileSystem.ReadAllText("D:\file01.txt") Dim strArr() As String Dim count As Integer fileReader = fileReader.Replace(vbCrLf, " ") strArr = fileReader.Split(" ") For count = 0 To strArr.Length - 1 MsgBox(strArr(count)) 執行後的矩陣內容如下 但不知道要如何去空格 ~"~ strArr(0) = 1 (1) = "" <= 有空格! (2) = 2 (3) = "" (4) = 3 (5) = 4 <= 這裡又沒空格? (6) = "" (7) = 5 (8) = "" (9) = 6 (10)= 7 ※ 編輯: Love1019 (118.161.6.116), 10/25/2014 21:51:13

10/25 23:25, , 6F
你把vbCrlf取代為空格後再用空格Split
10/25 23:25, 6F

10/25 23:25, , 7F
這作法對想處理成二維來說還蠻找自己麻煩的
10/25 23:25, 7F

10/26 21:38, , 8F
""是空字串不是空格,存以前先檢查strArr()各項是否""
10/26 21:38, 8F

10/26 21:39, , 9F
就行了。split()的這個問題(或特色)VB6以來就有。
10/26 21:39, 9F
文章代碼(AID): #1KIqwjxC (Visual_Basic)