FileStream没有关闭文件

我有以下代码:

using (MemoryStream str = new MemoryStream()) { Program.api.GetDocument(result, str); using (FileStream fileStream = File.Create(filePath)) { str.WriteTo(fileStream); } } 

每当写入文件时,它总是被锁定 – 尝试删除它或修改它会导致Windows告诉我文件正在使用,即使在关闭我的应用程序之后。 我错过了什么吗?

您的问题很可能是由Windows搜索索引引起的,这是Windows搜索的一部分。 如果您在修改文件后立即(或很快)尝试访问该文件,则可能会遇到您遇到的问题。 解决此问题的最佳方法是将重试逻辑添加到正在执行的文件操作中,该操作会等待一段时间并重新尝试文件操作。

如果您想确认问题是由Windows文件搜索索引引起的,则可以针对您编写文件的文件类型和/或位置禁用它,以查看是否会导致问题消失。