【问题标题】:Reading / Sorting a File using VB.Net使用 VB.Net 读取/排序文件
【发布时间】:2019-10-01 11:07:12
【问题描述】:

我有一个项目要读取和排序文件:

1234562343243489897654,876546322348976549876543,8974323467890965436654 2345675432345678996525,457843984164457832445546,6356455644546653544236 . . . .

我正在使用 VB.Net,我想读取此文件,根据特定条件从每行中提取一些数字(例如,从每行中提取最后/前 17 位数字)。我使用 system.io.file.readalllines 读取文件。请帮我提取数字和排序。

我的代码是

Dim alllines As String = "/Path"
Dim Lines = File.ReadAllLines(alllines)
Dim newline As String = ""

For Each line In Lines
    newline = line.Substring(0, 17)
    Richtextbox1.Text=Richtextbox1.Text + newline
Next

但输出仅显示最后一行的子字符串..

【问题讨论】:

  • 到目前为止,您研究或尝试了什么?你有一些代码给我们看看吗?当您尝试进行提取和/或排序时是否存在特定问题?

标签: arrays vb.net loops csv readfile


【解决方案1】:

这是你的代码

    Dim MyFile As String = PathToFileString
    Dim Lines = File.ReadAllLines(MyFile)
    Dim newLines As ArrayList = New ArrayList()
    Dim newLine As String = ""

    For Each line In Lines
        newLine = line.Substring(line.Length - 17, 17)
        newLines.Add(newLine)
    Next

    newLines.Sort()

【讨论】:

  • 请不要在新代码中使用 ArrayList。我们在 .net 中有更好的类型化集合。在这种情况下 List(Of String) 会起作用。
  • 谢谢你的时间,但它显示'索引超出了数组的范围'我的代码是 Dim i 作为整数 Dim allLines = System.IO.File.ReadAllLines("myFilePath") Dim lines(allLines.Length - 1) As String For i = 0 To lines.Length - 1 lines(i) = allLines(i).Substring(0, 17) Next System.Array.Sort(lines) Richtextbox1.Text= Richtextbox1.Text+lines(i)
  • 错误在哪里?哪条线?尝试使用 ForEach 代替 i = 0
【解决方案2】:

这是你的代码:

Dim allLines = System.IO.File.ReadAllLines("myFilePath")
Dim lines(allLines.Length - 1) As String
For i = 0 To lines.Length - 1
    lines(i) = allLines(i).Substring(0, 17)
Next
System.Array.Sort(lines)

【讨论】:

  • OP 要求提供最后 17 位数字而不是行中的前 17 位数字。
  • 谢谢你的时间,但它显示'索引超出了数组的范围'我的代码是 Dim i 作为整数 Dim allLines = System.IO.File.ReadAllLines("myFilePath") Dim lines(allLines.Length - 1) As String For i = 0 To lines.Length - 1 lines(i) = allLines(i).Substring(0, 17) Next System.Array.Sort(lines) Richtextbox1.Text= Richtextbox1.Text+lines(i)
猜你喜欢
  • 2012-09-09
  • 1970-01-01
  • 1970-01-01
  • 2015-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-15
  • 1970-01-01
相关资源
最近更新 更多