У меня есть этот код для записи некоторых данных из текстовых полей в текстовый файл. И я использую streamwriter для этого. Здесь вы можете увидеть код:StreamWriter оставляет файл, даже если он не сохранен
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Save As New SaveFileDialog()
Dim myStreamWriter As System.IO.StreamWriter
Save.Filter = "Text [*.txt*]|*.txt|All Files [*.*]|*.*"
Save.CheckPathExists = True
Save.Title = "Export & Save - FNG"
Save.FileName = txtTitle.Text & " - Plugs Details File Exported"
Save.ShowDialog(Me)
Try
myStreamWriter = System.IO.File.AppendText(Save.FileName)
myStreamWriter.Write("Details of Plugs:" & Environment.NewLine & txtDetails.Text & Environment.NewLine & DateAndTime.Now)
myStreamWriter.Flush()
Catch ex As Exception
End Try
End Sub
Код действительно работает, он также сохраняет детали в текстовый файл. Но проблема в том, что когда я отменяю диалог сохранения файла (без сохранения текстового файла), он создает файл в пути запуска приложения. Почему это происходит? Что я делаю не так? Как это исправить?
Никогда не используйте Try/Catch. Вы просто игнорируете какие-либо исключения, но любые проблемы, возможно, вызвали исключения, которые не исчезают! Кроме того, вы не будете знать, что это за проблемы, поскольку вы проигнорировали их! –
@JohnSaunders я удалил Try/Catch и отлаживал и все еще ничего не выскакивает как ошибка, но файл все равно сохраняется, даже если я не сохраняю файл (даже когда я закрываю диалог сохранения файла):/ – Jeff
См. Мой ответ : почему вы считаете, что отмена сохранения приведет к возврату вашего Sub? –