我试图循环读取文本文件的内容,逐行读取文本文件。在循环过程中,有几次我需要使用文件内容。
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
编辑:我要做的就是阅读说文本文件中的前五项执行一些随机处理然后阅读文本文件的下五行。
我希望能够将从文本文件中提取的行用作分隔的字符串变量。
答案 0 :(得分: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
答案 1 :(得分:0)
这是我的。靠得住。只需将位置从文件和copy1文件夹复制到位置。这是我的第一个程序:)。准备为此感到骄傲
导入System.IO
模块Module1
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
最终模块