我目前有一个固定字段的文本文件。有x个标题行和x个细节行。我需要从细节线中获得一条信息,以便为我的程序创建一条记录。如果有一种方法可以从文件末尾循环到文件的开头,我将能够完成我的任务。
我有以下代码,文件的开头到最后......
Using rdr As New StreamReader(_mtLocation)
Do Until rdr.EndOfStream
'// Do code here
Loop
End Using
有没有办法从文件末尾到开头?
如果您需要任何其他信息,请告知我们,我将更新问题以及其他信息。任何帮助表示赞赏。
答案 0 :(得分:1)
您可以使用String
方法将文件读取为File.ReadAllLines
数组。然后,您将向后遍历该数组,这将为您提供从下到上的每一行。对于每一行,您将在该行中向后迭代。
答案 1 :(得分:1)
您可以通过更改“位置”属性来读取流的不同位置。问题发生取决于文件的编码。
A有一个简单的文件(不是unicode),其中写有1到9的数字。
Using s = System.IO.File.OpenRead("test.txt")
For i As Integer = 8 To 0 Step -1
s.Position = i
Console.WriteLine(Chr(s.ReadByte()))
Next
End Using
这里有一个很好的例子,但在C#中。 stackoverflow.com/a/452945/130611
答案 2 :(得分:0)
这是另一种解决方案:
Dim TxtLines As New List(Of String)
Using rdr As New StreamReader(_mtLocation)
Do Until rdr.EndOfStream
TxtLines.Add(Reader.ReadLine.ToString())
Loop
End Using
Dim x As Integer
For x = TxtLines.Count To 0 Step -1
'Do your code here...
Next
要获取当前行的文本,只需在For循环中执行此操作:
TxtLines(x).ToString()