我想將數據寫入文件,所以我用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構造函數(它需要String而不是Stream)。
如何使用SaveFileDialog
將數據追加到文件?
使用StreamReader將流轉換爲字符串@ReadToEnd – Benno
@Benno你能告訴我更詳細的例子嗎?我試過這個:'Dim sr As New StreamReader(SaveFileDialog1.OpenFile)fileSW = New StreamWriter(sr.ReadToEnd,FileMode.Append)'但是出現錯誤:空路徑名稱不合法。 –