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

时间:2010-11-07 05:02:57

标签: vb.net listbox text-files

嘿伙计们,这里只是另一个小问题!试图为大学作品集编写一个测验并且在写入.txt文本文件时遇到问题。在一个表单(form4.vb)上,我有一个列表框,用于获取名为“usernames”的记事本文本文件中包含的信息,其中包含测验用户的名称。当手动写入此文本文件时,我的列表框可以很好地选择它,但是,在另一个表单(form3.vb)上,我有一个用户输入其名称的文本框,这应该转到“usernames.txt”文本文件由另一个表单上的列表框拾取,但相反,它根本不写任何内容,如果此文本文件中已有文本,则将其全部清除。 我还必须使用application.startup路径而不是通常的C:\ my documentents \ etc所以我必须从这样开始:(注意:代码有点混乱,因为乱搞不同变化,但这只是一个例子)

    'Try
    '    Dim appPath As String
    '    Dim fileName As String

    '    appPath = Application.StartupPath
    '    fileName = appPath & "\usernames.txt"
    '    sWriter = New System.IO.StreamWriter(fileName)

    '    sWriter.Close()
    '    MessageBox.Show("Writing file to disk")

    'Catch ex As Exception
    '    MessageBox.Show("File Access Error", "Error")

    'End Try
    'MessageBox.Show("Program terminating")

    'Application.Exit()

希望有人可以帮忙! =)

2 个答案:

答案 0 :(得分:3)

你想要更像这样的东西:

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()vs Application.Exit()

答案 1 :(得分:-1)

sWriter(streamWriter)的昏暗语句在哪里?