同时读取和追加文件[C#]

时间:2010-01-27 15:38:41

标签: c#

我正在寻找一种打开文件进行阅读和追加的方法。 FileMode.OpenOrCreate, FileAccess.ReadWrite只关注(覆盖)写入文件和阅读,而不是追加。

2 个答案:

答案 0 :(得分:6)

使用ReadWrite打开它,但在您想要写入时尽量寻求结束。流只有一个逻辑位置 - 如果它在最后,你不能读;如果它在中间,你会在写作时覆盖数据。

如果你要做一个很多的阅读和追加,在两者之间交替,可能值得创建一个包含所有新数据的临时文件,然后才真正附加它你读完后就分开了。

答案 1 :(得分:2)

根据Jon的建议,下面的代码示例:

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(...)写到文件的末尾。

希望这有帮助, 最好的祝福, 汤姆。