我有一个任务是在Microsoft Visual Studio Express 2012中创建一个程序,该程序打开我们创建的文本文件,并读取其中已有名称的列表。该程序应该取名称并将它们存储在一个字符串数组中,然后将它们显示在列表框中。还有一个文本框为数组添加一个名称,当程序关闭程序时应该保存数组中的名称列表。我的主要问题如下:读取和写入数据到顺序访问文本文件
如何从阵列获取的名称列表在程序启动
显示如何从文本框中添加名字到已经存在的阵列
如何将数组(带有新名称)保存到文件中?
它是一个在线课程,教师从不电子邮件回来,我们没有课本,我都可以在网络中同时向四周看了看,所以我来到这里,看看有什么我可以找出。
这是我到目前为止有:
问题1:
Public Class Form1
Dim strReader As System.IO.StreamReader
Private Sub lstNames_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstNames.SelectedIndexChanged
strReader = New IO.StreamReader("Names.txt")
While (strReader.Peek() > -1)
lstNames.Items.Add(strReader.ReadLine)
End While
strReader.Close()
Dim nameArray() As String = lstNames.Items.OfType(Of String)().ToArray()
End Sub
问题2:我甚至不知道从哪里开始
问题3:
Private Sub saveExit_Click(sender As Object, e As EventArgs) Handles saveExit.Click
Dim strWriter As New IO.StreamWriter("Names.txt")
strWriter.Write(lstNames.Text)
strWriter.Close()
Application.Exit()
End Sub
现在,作者只是将文本文件保存在一起而没有任何内容,因为目前我还没有能够在启动时将名称数组加载到列表框中。感谢大家的评论,我感谢帮助!
编辑:唯一的问题是现在的更新列表框信息不正确地保存数据,它回来了作为System.String []这里是代码:
Private Sub saveExit_Click(sender As Object, e As EventArgs) Handles saveExit.Click
'this converts all items in listbox into strings, then into an array
Dim names As String() = lstNames.Items.Cast(Of String)().ToArray()
'This writes the data to the file
Dim strWriter As IO.StreamWriter = IO.File.AppendText("Names.txt")
strWriter.WriteLine(names)
strWriter.Close()
Application.Exit()
End Sub
您是否需要使用'IO.StreamWriter'库? – jwatts1980
我已更新我的回答 – jwatts1980