作者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/cn.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