我已经使用此代码将内存流数据写入文本文件。
Dim memoryStrm As New MemoryStream()
Dim writer As New StreamWriter(memoryStrm)
Dim thefile As New FileStream(Application.StartupPath & "\DocsLog" & ".txt", FileMode.Open, FileAccess.Write, FileShare.ReadWrite)
' now Write the MemoryStream to the file
memoryStrm.WriteTo(theFile)
但是当我将数据写入文本文件时,我将它放在以前的内容中。我应该如何将memorystream写入文本文件的末尾? (仅将内存流数据添加到文件末尾)
答案 0 :(得分:4)
待办事项
theFile.Seek(0, SeekOrigin.End)
在写任何东西之前
答案 1 :(得分:3)
使用FileStream
构建器中的一个FileMode
并指定FileMode.Append
而不是FileMode.Open
。即使用简单的contructor:
Dim thefile As FileStream = _
new FileStream(fileName, FileMode.Append)
然后使用Stream.CopyTo将源流复制到目标。
复制从当前流中的当前位置开始,并且在复制操作完成后不会重置目标流的位置。
memoryStrm.CopyTo(theFile);
注意:
using
)答案 2 :(得分:2)
只需将FileMode.Open更改为FileMode.Append。