StreamReader读取特定的行号

时间:2013-07-15 13:18:10

标签: vb.net streamreader

我已经找到了逐行阅读的数百个答案,但没有一个可以指定您想要阅读的行的答案。 说我的文件看起来像这样:

A
B
C
D
E

我想读第3行(在这种情况下实际上是第2行我想 - 假设我想要“C”)。

我该怎么做?

我当然可以制作一个循环并停在选定的行,但是不是有更好的(不那么难看)的方法吗?像MyStreamReader.Row(2).Read或类似的东西?

1 个答案:

答案 0 :(得分:1)

最有效的方法是流式传输线路并计算每条线路。使用File.ReadAllLines,您必须等待返回整个字符串数组,然后才能访问该数组。

一种简单的方法是使用File.ReadLines,其工作方式类似于流阅读器:

Dim thirdLine = File.ReadLines(path).ElementAtOrDefault(2)
如果指定的索引太大,

Enumerable.ElementAtOrDefault将返回Nothing。所以你可以用这种方式检查它:

If thirdLine IsNot Nothing Then
    Console.WriteLine("Third line: " & thirdLine)
Else
    Console.WriteLine("The file doesn't contain 3 lines")
End If