FileStream没有关闭文件

时间:2011-11-10 14:41:53

标签: c# filestream memorystream

我有以下代码:

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

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

1 个答案:

答案 0 :(得分:1)

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

如果您想确认问题是由Windows文件搜索索引引起的,您可以disable it for the file type and/or location where you are writing your file查看是否会导致问题消失。