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 或更高版本。
我只需要从文本文件中读取行并显示它们。当我 运行 这个时,我可以看到 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 或更高版本。