2

我正在使用 Filestream 缓冲区将数据附加到文件中,见下文:

using (FileStream filestream = new FileStream(stringPathFile, FileMode.Append, FileAccess.Write, FileShare.None))
{                                                   
    filestream .Write(stuff.buffer, 0, stuff.bytesRead);
}  

作为调试,在写入一个更大的文件时,我看到文件每 4096 个字节被写入目标,并且我能够将文件移动到其他地方。如何阻止文件被移动,直到我完成对文件的写入?

谢谢

4

1 回答 1

-1

使用 FileShare.ReadWrite而不是 FileShare.None.

编辑:在 VB.NET 2010 中进行一些测试后(我目前无法访问 C#),我复制了您的问题。似乎解决问题的方法是避免使用using...

FileStream filestream = new FileStream(stringPathFile, FileMode.Append, FileAccess.Write, FileShare.None) {
filestream.Write(stuff.buffer, 0, stuff.bytesRead); }

于 2012-09-20T19:34:22.890 回答