使用流阅读器阅读文本文件

时间:2013-01-30 21:48:24

标签: vb.net streamreader

我想读一个包含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

2 个答案:

答案 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

See the MSDN reference here

(文件类需要System.IO的导入)

此外,如果您的第一行是这样的

Server=MyServerPC

并且您只需要ServLabel中的MyServerPC部分,您需要在=符号处分割输入

ServLabel.Text = lines(0).Split("="c)(1)

当然这只是一个例子。需要更强大的错误处理。您应检查是否至少有3行,并且每行是否被=符号正确分隔。

答案 1 :(得分:1)

StreamReader.ReadLine()没有带参数的重载。 Intellisense将显示两个重载,因为返回类型String有一个索引器。