【发布时间】:2016-04-24 21:14:05
【问题描述】:
我在驱动器 C: 上有一个文本文件,我需要打开并读取第一行并执行要显示的代码,然后读取第二行并执行相同操作,等等,直到它读取文本中的所有行文件。 不知道该怎么做...
我的代码
我想我想明白了,下面,但是我如何做到这一点对于文本文件的每一行,意思是每行应用相同的评估?
'type of message triggers
Dim type1 As String = "d1err./"
Dim type2 As String = "d1jam./"
Dim type3 As String = "d1spe./"
Dim type4 As String = "d2err./"
Dim type5 As String = "d2jam./"
Dim type6 As String = "d2spe./"
Dim fileReader As StreamReader = My.Computer.FileSystem.OpenTextFileReader("C:\A\data\display.txt")
Dim stringReader As String = fileReader.ReadLine()
While stringReader <> Nothing
Dim LineStart As String = stringReader.Substring(0, 7)
Dim RestOfLine As String = stringReader.Substring(7)
If LineStart = type1 Then
Display1.Dis1RTB1.Clear()
Display1.Dis1RTB1.Text = RestOfLine
ElseIf LineStart = type2 Then
Display1.Dis1RTB2.Clear()
Display1.Dis1RTB2.Text = RestOfLine
ElseIf LineStart = type3 Then
Display1.Dis1RTB3.Clear()
Display1.Dis1RTB3.Text = RestOfLine
ElseIf LineStart = type4 Then
Display2.Dis2RTB1.Clear()
Display2.Dis2RTB1.Text = RestOfLine
ElseIf LineStart = type5 Then
Display2.Dis2RTB2.Clear()
Display2.Dis2RTB2.Text = RestOfLine
ElseIf LineStart = type6 Then
Display2.Dis2RTB3.Clear()
Display2.Dis2RTB3.Text = RestOfLine
End If
stringReader = fileReader.ReadLine()
End While
fileReader.Close()
End Sub
【问题讨论】:
-
它不能解决问题,但是如果您使用Select...Case Statement,您可能会发现您的编码更容易。要读取文件,您将需要一个 循环,例如使用 While...End While Statement,它可能以
While Not stringReader.EndOfStream开头。 -
如果有多个“type1”的“LineStart”,则文本框中的文本(我假设是)将被覆盖,依此类推。如果这不是预期的行为,您可以使用.AppendText Method。
标签: vb.net streamreader