如何在visual basic中阅读文本文档的每一行和第三行?

时间:2013-12-13 19:08:39

标签: visual-studio-2010 visual-studio

我无法弄清楚如何阅读我使用我设计用于将数据附加到同一文本文件的程序生成的文本文档的每一行,第二行和第三行,基本上使用文件.AppendText,这是数据在文本文档(namelist.txt)中的样子:

John
49
Florida
1970
Elizabeth
50
Nebraska
1953
Mike
18
Vancouver
1993
Michelle
25
Berlin
1986

所以基本上我的问题是你如何阅读每一秒或三行以便在列表中显示它们?例如,我想阅读文档中显示的所有年龄,但我必须使用for循环读取每一行:

Try
   ageFile = File.OpenText("namelist.txt")

   For intCount = 2 to ageFile.EndOfStream
      strAge = ageFile.ReadLine()

      lstDisplay.Items.Add(strAge)
   Next
   ageFile.Close()
Catch

我不太确定这是不是正确的方式,我也想读所有的名字和年份,我在这里需要帮助,谢谢

2 个答案:

答案 0 :(得分:1)

intCount = 0
While (strAge = ageFile.ReadLine()) IsNot Nothing
    If intCount Mod 4 = 1 Then
        //This will be every third row in the file
    End If
    intCount += 1
End While

答案 1 :(得分:0)

所以你想把每三个连续的线组合在一起;使用LINQ非常明确。

(你标记了这个C#,所以你可能不介意使用C#解决方案。)

var groups = File.ReadLines(path)
    .Select((line, index) => new { line, index })
    .GroupBy(item => item.index / 3, item => item.line);