我正在寻找一种打开文件进行阅读和追加的方法。 FileMode.OpenOrCreate, FileAccess.ReadWrite
只关注(覆盖)写入文件和阅读,而不是追加。
答案 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(...)
写到文件的末尾。
希望这有帮助, 最好的祝福, 汤姆。