读取文件vb.NET时出现空引用异常

时间:2015-03-03 20:50:41

标签: vb.net

所以我创建的程序需要能够从.cfg(config)文件中逐行读取,它可以快乐地打开它;这是代码:

    OpenConfig.ShowDialog()
    file = OpenConfig.FileName()
    fileReader()

但是当它尝试读取文件时,请使用以下代码:

Function fileReader()
    Dim reader As New StreamReader(file)
    Dim vLb As ListBox = shopTabs.SelectedTab.Controls.Item(10) 'Listbox Variable
    For i = 0 To reader.Peek

        textline(i) = reader.ReadLine()
        vLb.Items.Add(i)

    Next

    Return True
End Function

它在该行引发异常:

textline(i) = reader.ReadLine()

任何帮助都会非常感激,因为我无法理解为什么会这样做。

1 个答案:

答案 0 :(得分:0)

您的代码可以简化为以下代码:

Using openConfig As New OpenFileDialog()
  If openConfig.ShowDialog(Me) = DialogResult.OK Then
    For Each s As String In File.ReadAllLines(openConfig.FileName)
      ListBox1.Items.Add(s)
    Next
  End If
End Using

正如我评论的那样,你的代码做了一些非常值得怀疑并且无疑难以维护的事情,例如通过索引属性引用控件。

我怀疑你的项目也会受益于使用UserControls,因为我猜你在每个标签中都有相同的控件(ListBox总是控制索引#10?)。