【问题标题】:vb.net reading text file ,split to random rangevb.net 读取文本文件,拆分为随机范围
【发布时间】:2014-12-30 14:44:48
【问题描述】:

我想将 List 的文本行读入 2 到 5 行的随机范围并保存到链接。

例如:我有 test.txt 文件,其中包含以下内容:

aa
bb
cc
dd
ee
ff
gg
hh
ii
yy
tt
rr
ee
ww
qq
uu
oo
pp

还有这段代码:

Dim random As New Random()
Dim n As Integer
n = random.Next(2, 5)
Dim textfile As String = "test.txt"
Dim objReader As New System.IO.StreamReader(textfile)
Dim List As String = objReader.ReadToEnd()
Do While Not EOF()
Dim link As List(Of String) = TextLink(resp)
Loop

因此,如果我运行它,它将读取 aa、bb 并保存到字符串的“链接”列表,连续它将随机读取下一行,如 cc、dd、ee、ff 并保存到'关联'。

这就是我想做的。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请花点时间仔细查看How to Ask
  • 您希望范围是有序的(例如:aa、bb、cc、dd)还是文本文件中的任意 3 行?
  • 嗨..我希望范围有序。谢谢!
  • 我建议你改用File.ReadAllLines

标签: .net vb.net


【解决方案1】:

这是一个简单的例子:

    Dim R As New Random
    Dim Count As Integer
    Dim RangeLength As Integer
    Dim DataFileName As String = System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "test.txt")
    Dim Links As New List(Of List(Of String))
    Using SR As New System.IO.StreamReader(DataFileName)
        While Not SR.EndOfStream
            Count = 0
            RangeLength = R.Next(2, 6)
            Dim curLinkSet As New List(Of String)
            Links.Add(curLinkSet)
            While Not SR.EndOfStream AndAlso Count < RangeLength
                curLinkSet.Add(SR.ReadLine)
                Count = Count + 1
            End While
        End While
    End Using

    For i As Integer = 0 To Links.Count - 1
        Debug.Print("Set #" & i)
        Dim LinkSet As List(Of String) = Links(i)
        For x As Integer = 0 To LinkSet.Count - 1
            Debug.Print(x & ": " & LinkSet(x))
        Next
        Debug.Print("")
    Next

样本输出:

Set #0
0: aa
1: bb
2: cc

Set #1
0: dd
1: ee
2: ff
3: gg
4: hh

Set #2
0: ii
1: yy
2: tt
3: rr

Set #3
0: ee
1: ww
2: qq
3: uu

Set #4
0: oo
1: pp

【讨论】:

  • 我测试了它,它几乎是我想要的,但它读取随机行。我想阅读行排序方式。所以我第一次希望它读取 aa bb cc,第二次读取 dd ee,第三次读取 ff gg hh,依此类推。这种有序的方式是我想要的。谢谢!
  • 啊...所以您想按顺序读取整个文件,但一次以2到5行的随机块“接收”它?
  • 没错。这正是我实施的!谢谢
  • 非常感谢您的帮助!这正是我想要实现的。再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-29
  • 2016-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多