0

我正在尝试遍历文本文件的内容,逐行读取文本文件。在循环过程中有几次我需要使用文件内容。

Dim xRead As System.IO.StreamReader
xRead = File.OpenText(TextBox3.Text)

Do Until xRead.EndOfStream
  Dim linetext As String = xRead.ReadLine
  Dim aryTextFile() As String = linetext.Split("  ")

  Dim firstname As String = Val(aryTextFile(0))
  TextBox1.Text = firstname.ToString

  Dim lastname As String = Val(aryTextFile(0))
  TextBox2.Text = lastname.ToString
Loop

编辑:我要做的是读取文本文件中的前五个项目执行一些随机处理,然后读取文本文件的下 5 行。

我希望能够使用从文本文件中提取的行作为分隔的字符串变量。

4

2 回答 2

1

根据您的代码示例,不清楚为什么您需要随时存储 5 行,因为您一次只处理一行。如果您认为一次执行 5 行会更快 - 这不太可能,因为 .NET 在内部维护缓存,因此这两种方法可能会执行相同的操作。然而,一次读一行是一种更简单的模式,所以最好先研究一下。

不过,这里是每 5 行处理一次的代码的近似版本:

Sub Main()
  Dim bufferMaxSize As Integer = 5
  Using xRead As New System.IO.StreamReader(TextBox3.Text)
    Dim buffer As New List(Of String)
    Do Until xRead.EndOfStream
      If buffer.Count < bufferMaxSize Then
        buffer.Add(xRead.ReadLine)
        Continue Do
      Else
        PerformProcessing(buffer)
        buffer.Clear()
      End If
    Loop
    If buffer.Count > 0 Then
      'if line count is not divisible by bufferMaxSize, 5 in this case
      'there will be a remainder of 1-4 records,
      'which also needs to be processed
      PerformProcessing(buffer)
    End If
  End Using
End Sub
于 2012-12-16T19:27:26.407 回答
0

这是我的。靠轻松。只需将位置从文件和 copy1 文件夹复制到执行位置。这是我的第一个程序:)。准备好为此感到自豪

导入系统.IO

模块模块1

Sub Main()

    For Each Line In File.ReadLines("C:\location.txt".ToArray)

        My.Computer.FileSystem.CopyDirectory("C:\Copy1", Line, True)


    Next
    Console.WriteLine("Done")
    Console.ReadLine()
End Sub

端模块

于 2020-04-09T15:45:05.847 回答