Универсальный код для записи текста в .txt-файл?

#vb.net

#vb.net

Вопрос:

У меня есть код, который в настоящее время записывает текст в файл .txt, но протестирован на другом компьютере, пользователь должен изменить строку кода "C:UsersBlakeDocumentstest2.txt" и создать / сохранить файл .txt с именем test2 . Я хотел бы сохранить свой код таким же, как он работает. Любые предложения приветствуются.

     Dim FILE_NAME As String = "C:UsersownerDocumentstest2.txt" 'Sends information to test2.txt 
            If System.IO.File.Exists(FILE_NAME) = True Then
                Dim objWriter As New System.IO.StreamWriter(FILE_NAME)
                'File.WriteLine("wILDO THE ")
                objWriter.Write("Aircraft Make amp; Model: " amp; TextBox4.Text amp; ", N-number: " amp; TextBox3.Text)
                objWriter.Write("
Gascolator Removed amp; Inspected in accordance with FAA approved maintenance manual")
                objWriter.Write("

Signature _____________________________")
                objWriter.Write(" " amp; DateTime.Now)
                'Displays current date And time
                objWriter.Close()

                MsgBox("Log Book Entry Created")
            Else
                MsgBox("File Does Not Exist")
        End If
        Else
        ErrorProvider1.SetError(Button2, "All boxes must be checked")
        End If

    End Sub

End Class
  

Комментарии:

1. Использование специальных каталогов будет работать, или вы можете добавить SaveFileDialog в свой проект и позволить пользователю выбирать, где сохранить файл.

Ответ №1:

Попробуйте использовать это:

  Dim FILE_NAME As String =  IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments,"test2.txt")
  

Ответ №2:

Путь к документам доступен в классе SpecialDirectories . Вы можете просто сделать это:

 Dim FILE_NAME As String =  My.Computer.FileSystem.SpecialDirectories.MyDocuments   "test2.txt"
  

Комментарии:

1. В окне сообщения отображается «Создана запись журнала», но я нигде не могу найти файл .txt. Спасибо за быстрый ответ!

2. Вы забыли в пути.