2016-06-23 2 views
0

Это, вероятно, вопрос, который многие из вас уже видели пару раз, но я действительно отчаянный, поскольку каждое решение, которое я нашел в Интернете, работает неправильно.Создание текстовых файлов не работает

Я хочу создать простой .txt-файл. Мой код атм:

Public Class Form3 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     If TextBox1.Text = "" Then 
      MessageBox.Show("Your world needs a name") 
     Else 
      Dim file As System.IO.StreamWriter 
      file = My.Computer.FileSystem.OpenTextFileWriter("c:\test.txt", True) 
      file.WriteLine("Here is the first string.") 
      file.Close() 
     End If 
    End Sub 
End Class 

Так как вы можете видеть, файл должен быть создан при нажатии кнопки и когда есть текст в текстовом поле.

Не работает ли программа или я искал файл в неположенном месте? Спасибо, что в авансе!

+2

Не очень хорошая идея, чтобы создать файл в корневой каталог (вероятно) системного диска. Однако, не работает слишком общий, какова реальная ошибка messsage? Кстати, если вам нужно написать только несколько строк, лучше используйте File.WriteAllLines/WriteAllText с одной строкой – Steve

+0

Спасибо за ответ! Проблема в том, что я не получаю сообщение об ошибке, когда путь только C: \! Я попробовал его с помощью пути к «Мои документы», но он дает исключение, см. Эту ссылку для изображения: https://gyazo.com/48822b173e42c14e83db3ea461c2b646 – DriesTech

+0

Ум в попытке на «Мои документы» вы не добавили имя файл. Я не могу прочитать подробности вашего исключения, но это кажется довольно ясным ссылкой на отсутствующий файл или что-то. – Steve

ответ

-1

Попробуйте этот код также может быть использован

Public Class Form3 
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    If TextBox1.Text = "" Then 
     MessageBox.Show("Your world needs a name") 
    Else 
     Dim file As System.IO.StreamWriter 
     file = My.Computer.FileSystem.OpenTextFileWriter(IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "test.txt"), True) 
     file.WriteLine("Here is the first string.") 
     file.Close() 
    End If 
End Sub 
0

Что-то вроде этого:

Public Class Form3 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     If TextBox1.Text = "" Then 
      MessageBox.Show("Your world needs a name") 
     Else 
      Using file As New StreamWriter("c:\test.txt", True) 
       file.WriteLine("Here is the first string.") 
       file.Close() 
      End Using 
     End If 
    End Sub 
End Class 
Смежные вопросы