VB.Net - Запись в текстовый файл из текстового поля - PullRequest
0 голосов
/ 07 ноября 2010

Эй, ребята, еще одна маленькая проблема здесь! Попытка написать тест для портфолио колледжа и проблемы с записью в текстовый файл .txt. В одной форме (form4.vb) у меня есть список, в котором собрана информация, содержащаяся в текстовом файле блокнота, который называется «usernames» и содержит имена пользователей викторины. Когда я пишу вручную в этот текстовый файл, мой список выводит его нормально, однако, в другой форме (form3.vb), у меня есть текстовое поле, где пользователь вводит свое имя, это должно идти в "usernames.txt" текстовый файл должен быть выбран списком в другой форме, но вместо этого он вообще ничего не пишет, а если в этом текстовом файле уже есть текст, он стирает все. Я также должен использовать путь application.startup вместо обычного C: \ Мои documentmentents \ 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 ]

3 голосов
/ 07 ноября 2010

Вы хотите что-то еще, как это:

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 () намного проще для простых вещей, чем возиться с потоковым ридером / писателем. Соедините его с File.ReadAllText () или File.ReadAllLines () в другом направлении.
  • Environment.Exit () и Application.Exit ()
0 голосов
/ 07 ноября 2010

Где находится ваша инструкция dim для sWriter (streamWriter)?

...