Невозможно воспроизвести, даже если ваш точный код опубликован. Это прекрасно работает для меня, создание текстового файла в указанном месте, если он не существует, и добавление указанного текста в конецfile.
Единственное, что я предлагаю, - это обернуть ваш объект StreamWriter
в оператор Using
, чтобы гарантировать, что его метод Dispose
всегда вызывается, даже если выброшено исключение.(что более вероятно, когда вы делаете дисковый ввод / вывод).Итак, ваш существующий код просто изменится на:
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
Dim FILE_NAME As String = "C:\RXF\log.txt"
''#Adding items for AutoCAD 2006...
If CheckBox1.CheckState = CheckState.Checked Then
Using objWriter as New System.IO.StreamWriter(FILE_NAME, True)
objWriter.WriteLine("module: 4FNV-67-5H")
objWriter.Close()
End Using
End If
End Sub
Кроме того, если вы ожидаете, что этот метод будет вызываться много (т. Е. Пользователь нажимает и отменяет щелчок и нажимает флажок несколько раз), вы можете рассмотреть возможность созданияStreamWriter
объект один раз и сохранение его как частной переменной уровня класса, вместо создания и удаления его при каждом вызове метода.Тогда вам просто нужно убедиться, что вы утилизируете его всякий раз, когда ваш класс (предположительно, содержащий форму) удаляется.