FileStream.Dispose会立即关闭文件吗?

时间:2011-06-14 21:10:57

标签: c# .net io

我有一些代码通过使用MemoryStream.WriteTo()将MemoryStream保存到FileStream来写入文件。文件关闭后再次打开以阅读一些元数据......

这大约有80-90%的时间。另外20%我得到一个例外,说该文件“正被另一个进程使用”。

FileStream.Dispose()是否不同步释放资源?我不知道Win32土地上有什么东西在降低吗?我在.Net文档中没有看到任何明显的内容。

1 个答案:

答案 0 :(得分:6)

尽可能“立即”。由于优秀写入,更新目录信息等延迟,很容易出现滞后。它也可能是防病毒软件检查您更改的文件。

这可能是一种罕见的情况,需要Thread.Sleep(1)。但为了完全安全,你必须捕获(任何)异常并再次尝试一定次数。