作者Love1019 (愛與勇氣的年代)
看板Visual_Basic
標題[.NET] 讀入檔案後轉存陣列
時間Sat Oct 25 15:18:00 2014
鄉民大家好
小小有個簡單的觀念一直轉不過來
還請大家幫忙指點一下
待讀入檔案如下:
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://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1414221485.A.ECC.html
1F:推 GoalBased: 少一個空白? 10/25 16:19
2F:→ GoalBased: Split(xx, " ")這樣? 10/25 16:19
3F:→ Love1019: 加入空白後有改善些 但還有個問題是這樣只抓到最後一行 10/25 16:36
4F:→ MOONRAKER: split得到的結果是一個陣列 裡面有幾項可以用ubound() 10/25 20:31
5F:→ MOONRAKER: 得到 這樣知道怎麼改了吧 10/25 20:31
和大家分享一下
目前修改如下 :
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
6F:→ KawasumiMai: 你把vbCrlf取代為空格後再用空格Split 10/25 23:25
7F:→ KawasumiMai: 這作法對想處理成二維來說還蠻找自己麻煩的 10/25 23:25
8F:→ MOONRAKER: ""是空字串不是空格,存以前先檢查strArr()各項是否"" 10/26 21:38
9F:→ MOONRAKER: 就行了。split()的這個問題(或特色)VB6以來就有。 10/26 21:39