Do FileStream.Dispose立即关闭文件

本文关键字:文件 FileStream Dispose Do | 更新日期: 2023-09-27 17:59:20

我有一些代码,它通过使用MemoryStream.WriteTo()将MemoryStream保存到FileStream来写入文件。关闭文件后,它会再次打开以读取一些metdata。。。

这种方法在80%到90%的时间内都有效。另外20%我得到一个异常,说文件"正在被另一个进程使用"。

FileStream.Dispose()是否不同步释放资源?Win32平台的下层是否发生了我不知道的事情?我在.Net文档中没有看到任何明显的内容。

Do FileStream.Dispose立即关闭文件

尽可能"立即"。由于未完成的写入、更新目录信息的延迟等原因,很容易出现一些延迟。也可能是防病毒软件检查您更改的文件。

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