每隔5行读一次,直到文本文件结束

时间:2015-10-24 13:54:30

标签: vb.net

嗨,有人可以请给我一个例子,说明如何通读文本文件到最后,并将每第5行读成一个字符串?我知道如何使用

读取文本文件中的特定行

line = System.IO.file.readAllLines(filepath)(linenum)

并使用streamreader读取每一行等。

但是我想浏览整个文本文件并挑出每一定数量的行。很确定它与循环有关,但我还没有太熟悉。

1 个答案:

答案 0 :(得分:0)

由于文件不是基于行的,您需要阅读所有行并选择您想要的行。

您可以使用Where方法和重载项来获取项目的索引,使用Mod运算符来确定每五行的位置:

Dim lines As String() = _
  System.IO.File.ReadLines(filepath).Where(Function(line, i) i Mod 5 = 0).ToArray()

您比较表达式以确定您获得哪些行的数字。 i Mod 5 = 0从第一行开始,然后从那里开始每五分之一,而i Mod 5 = 4从第五行开始,然后从那里开始每五分之一。

ReadLines方法比ReadAllLines更好,因为它不会首先将所有行读入内存,而是返回一个枚举器,以便您可以按原样处理这些行读出。)