StreamReader 找不到文件结尾

StreamReader not finding end of file

我只需要从文本文件中读取行并显示它们。当我 运行 这个时,我可以看到 id 做了我想要的,但是在它读取最后一个值之后它只在我的屏幕上显示一个空白表格并且不会继续。好像找不到文件末尾之类的。我没有收到错误。

Using sr As New System.IO.StreamReader(Application.StartupPath & "\myfile.cfg")
    Dim Line As String = ""
    Dim i As Integer = 0
    Dim temp_array As Array
    Do While Line IsNot Nothing
         Line = sr.ReadLine
         temp_array = Line.Split("=")
        'MessageBox.Show(temp_array(0))
    Loop


End Using

这是错误的代码,因为在测试它是否为 Nothing 之前,您实际上要使用 Line。这里有两个很好的循环遍历文本文件行的选项:

Using reader As New StreamReader(filePath)
    Dim line As String

    Do Until reader.EndOfStream
        line = reader.ReadLine()

        '...
    Loop
End Using

For Each line In File.ReadLines(filePath)
    '...
Next

如您所见,第二个要简洁得多,但它确实需要 .NET 4.0 或更高版本。