次の形式でデータをテキストファイルに書き込むプログラムがあります。
test1 - test1 - test1 - test1
最初の行を書き込んだ後、ユーザー入力の次のラウンドのためのスペースを作るためにテキストフィールドがクリアされます。簡単に言うと、これはどのように見えるべきかです:
test1 - test1 - test1 - test1
test2 - test2 - test2 - test2
test3 - test3 - test3 - test3
これが私のコードです
If Not File.Exists(path) Then
MessageBox.Show("File doesn't exist in the given path", "No File", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
Else
Dim reader As New StreamReader(path)
reader = File.OpenText(path)
Dim content As String = reader.ReadToEnd
reader.Dispose()
reader.Close()
Dim writer As New StreamWriter(path) 'this is where the exception occurs
writer.Write("Origin : " & Trim(loadOrigin) & vbTab & "-" & vbTab)
writer.Write("Destination : " & Trim(destination) & vbTab & vbCrLf & vbCrLf)
writer.Write(Trim(txtCarrier.Text) & vbTab & "-" & vbTab)
writer.Write(Trim(txtLocation.Text) & vbTab & "-" & vbTab)
writer.Write(Trim(txtDest.Text) & vbTab & "-" & vbTab)
writer.Write(Trim(txtNotes.Text) & vbTab & vbCrLf & vbCrLf)
writer.Close()
MessageBox.Show("Text written to file", "Data Saved", MessageBoxButtons.OK, MessageBoxIcon.Information)
clearFields()
End If
以前
StreamReader
は、テキストファイル内にすでに含まれているコンテンツを読み、その最後に到達して新しい行を追加していました。ただし、別のプロセスによって使用されているため、プロセスはファイル'D:\test.txt'にアクセスできませんというメッセージとともにIOExceptionエラーが表示されます。を破棄および/または閉じた後でも役に立ちません。ここで何が欠けていますか?StreamReader
このコードは、上記のように同じテキストファイルに複数の行を書き込むという最初の目的を果たしますか?変更を加える必要がありますか?
どうもありがとうございました。