2010-01-27 40 views
0

我在寻找打开一个文件的读取和追加的方式。 FileMode.OpenOrCreate, FileAccess.ReadWrite只需要(超过)写入文件和读取,而不是附加的照顾。读取和附加文件同时[C#]

回答

6

ReadWrite打开它,但是当你想要写它寻求结束。流只有一个逻辑位置 - 如果它最后,你不能阅读;如果它在中间,则在写入时将覆盖数据。

如果你打算做的读取和追加一个很多,两者之间的交替,它可能是值得创建的所有新数据的临时文件,然后实际上只单独追加它,当你”已完成阅读。

2

下面的代码样本按乔恩的建议:

 
System.IO.FileStream strm = new FileStream("foo.bar", FileMode.OpenOrCreate, FileAccess.ReadWrite); 

strm.Seek(strm.Length, SeekOrigin.End); // <-- Seeking to end of file 

然后,你可以做strm.Write(...)写入到文件的末尾。

希望这会有所帮助, 最好的问候, 汤姆。