VB.Net-从文本框写入文本文件

VB.Net-从文本框写入文本文件,vb.net,listbox,text-files,Vb.net,Listbox,Text Files,嘿,伙计们,这又是一个小问题!试图为一个大学档案写一个测验,但在写.txt文本文件时遇到了麻烦。在一个表单(form4.vb)上,我有一个列表框,它可以提取记事本文本文件“usernames”中的信息,该文件包含测验用户的姓名。当手动写入此文本文件时,我的列表框可以很好地拾取它,但是,在另一个表单(form3.vb)上,我有一个文本框,用户在其中输入他们的姓名,这应该转到“usernames.txt”文本文件,由另一个表单上的列表框拾取,但是,它根本不写任何东西,如果这个文本文件上已经有文本,它

嘿,伙计们,这又是一个小问题!试图为一个大学档案写一个测验,但在写.txt文本文件时遇到了麻烦。在一个表单(form4.vb)上,我有一个列表框,它可以提取记事本文本文件“usernames”中的信息,该文件包含测验用户的姓名。当手动写入此文本文件时,我的列表框可以很好地拾取它,但是,在另一个表单(form3.vb)上,我有一个文本框,用户在其中输入他们的姓名,这应该转到“usernames.txt”文本文件,由另一个表单上的列表框拾取,但是,它根本不写任何东西,如果这个文本文件上已经有文本,它会将其全部清除。 我还必须使用application.startup路径,而不是通常的C:\my documentents\etc,因此我必须从以下内容开始:(注意:由于混淆了不同的变体,代码有点混乱,但这只是一个示例)


希望有人能帮忙!=)

您对sWriter(streamWriter)的dim声明在哪里?

您想要这样的东西:

Dim appPath As String = Application.StartupPath
Dim fileName As String = IO.Path.Combine(appPath, "usernames.txt")

Try
    IO.File.AppendAllText(fileName, TextBox1.Text & Environment.NewLine)
Catch ex As Exception
    MessageBox.Show("File Access Error", "Error")
End Try
MessageBox.Show("Program terminating")

Environment.Exit()
此代码中值得注意的一些事项:

  • Path.Combine()是添加分隔符的正确方法
  • 对于简单的事情,File.AppendAllText()比处理streamreader/writer容易得多。将其与另一个方向的File.ReadAllText()或File.ReadAllLines()配对
  • Environment.Exit()与Application.Exit()的比较

为什么您的代码都被注释掉了?它已经在那里了,但是我忘了将它粘贴到示例代码中,但是我有一个dim sWriter作为system.IO.StreamWriter和它的新实例,您可以在示例中看到。它通常位于表单\u Load sub或按钮\u sub上,通常位于从pont开始的try…catch方法上方。尝试添加true以表示追加模式
sWriter=New System.IO.StreamWriter(fileName,true),然后在关闭对象之前尝试向流写入内容。
Dim appPath As String = Application.StartupPath
Dim fileName As String = IO.Path.Combine(appPath, "usernames.txt")

Try
    IO.File.AppendAllText(fileName, TextBox1.Text & Environment.NewLine)
Catch ex As Exception
    MessageBox.Show("File Access Error", "Error")
End Try
MessageBox.Show("Program terminating")

Environment.Exit()