을 사용하여 파일에 데이터를 추가, 그래서 SaveFileDialog
객체 사용 방법 :내가 파일에 데이터를 기록 할의 SaveFileDialog
Public Class Form3
Inherits Form
Public callerForm3To1 As Form1
Dim fileStream As Stream = Nothing
Dim fileSW As StreamWriter = Nothing
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
SaveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
SaveFileDialog1.FilterIndex = 2
SaveFileDialog1.RestoreDirectory = True
FlagWriteToFile = False
If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
Btn_writeData.Enabled = True
End If
End Sub
'some code
End Class
그리고 그 후 나는이 데이터를 쓸 파일을 열 :
Sub WriteDataToText(data As Long(), appendData As Boolean)
'Dim a As New StreamWriter(SaveFileDialog1.OpenFile(), FileMode.Append) ' ERROR!
fileSW = New StreamWriter(SaveFileDialog1.OpenFile())
If (fileSW IsNot Nothing) Then
fileSW.WriteLine(String.Join(" ", data) + Environment.NewLine)
fileSW.Close()
End If
End Sub
을 내가 원한 무엇이 : 때때로 나는이 파일에 자료를 추가하고, 때때로 덮어 쓸 필요가있다. 나는 이것을 위해 appendData
을 만듭니다 : 1
다음에 0
을 덮어 쓰면 덧붙입니다. 파일로는 StreamWriter
을 만들고 내 용도로는 FileMode
을 사용할 수 있음을 알고 있습니다. 하지만 SaveFileDialog
을 사용하는 경우 OpenFile
은 Stream
을 반환합니다. 그리고 StreamWriter 생성자를 만들 수 없습니다 (스트림이 아닌 스트림을 사용합니다).
SaveFileDialog
을 사용하여 파일에 데이터를 추가하는 방법은 무엇입니까?
StreamReader.ReadToEnd를 사용하여 스트림을 문자열로 변환 – Benno
@Benno 더 자세한 예제를 보여 줄 수 있습니까? 나는이 하나를 시도 :'새로운 StreamReader (SaveFileDialog1.OpenFile)로 FileSW = 새 StreamWriter (sr.ReadToEnd, FileMode.Append) '하지만 오류 : 빈 경로 이름은 합법적이지 않다. –