我想读一个包含3行数据的文本文件,一行包含“Server = ...”下一行是“Username = ..”,最后一行是“Password = ...”所以我想要读取这个文件并将每一行放入一个单独的标签..(label1,label2,label3)
OFDSet是我的openfiledialog
全部使用Visual Basic ..
有人帮忙吗?
这是我尝试的代码,但是我收到了错误:
Dim oReader As StreamReader
If OFDSet.ShowDialog = Windows.Forms.DialogResult.OK Then
oReader = New StreamReader(OFDSet.FileName, True)
ServLabel.Text = oReader.ReadLine(1)
UserLabel.Text = oReader.ReadLine(2)
PassLabel.Text = oReader.ReadLine(3)
End If
答案 0 :(得分:2)
一个更简单的解决方案是通过File.ReadAllLines方法,该方法只返回一个字符串数组。
If OFDSet.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim lines = File.ReadAllLines(OFDSet.FileName)
ServLabel.Text = lines(0)
UserLabel.Text = lines(1)
PassLabel.Text = lines(2)
End If
(文件类需要System.IO的导入)
此外,如果您的第一行是这样的
Server=MyServerPC
并且您只需要ServLabel中的MyServerPC
部分,您需要在=
符号处分割输入
ServLabel.Text = lines(0).Split("="c)(1)
当然这只是一个例子。需要更强大的错误处理。您应检查是否至少有3行,并且每行是否被=
符号正确分隔。
答案 1 :(得分:1)
StreamReader.ReadLine()
没有带参数的重载。 Intellisense将显示两个重载,因为返回类型String
有一个索引器。