我有一个程序,它以以下格式将数据写入文本文件。
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
阅读文本文件中已有的内容并到达它的末尾以追加新行。但是,它显示IOException错误消息The process cannot access the file 'D:\test.txt' because it is being used by another process。即使在我处置和/或关闭.StreamReader
我在这里想念什么?这段代码能否实现我在上面提到的将多行写入同一个文本文件的最初目的?我必须做出任何改变吗?
非常感谢大家。