1

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

2 回答 2

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

请参阅此处的 MSDN 参考

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

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

Server=MyServerPC

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

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

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

于 2013-01-30T22:09:02.317 回答
1

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

于 2013-01-30T22:00:58.163 回答