File.Delete无法删除文件,因为它正由另一个进程使用

时间:2014-04-12 16:51:09

标签: c# asp.net io delete-file overwrite

我在覆盖文件时遇到错误。如果它仍然工作无法找到关闭文件的方式。有谁可以帮助我吗 ?

        if (System.IO.File.Exists(Server.MapPath("/html/" + htmlname)))
        {
            System.IO.File.Delete(Server.MapPath("/html/" + htmlname));

            System.IO.File.WriteAllText(Server.MapPath("/html/" + htmlname), mailbody);

        }
        else
        {
            System.IO.File.WriteAllText(Server.MapPath("/html/" + htmlname), mailbody);
        }

1 个答案:

答案 0 :(得分:0)

取自msdn.com,其中说: “指定的文件正在使用中。 -要么- 文件上有一个打开的句柄,操作系统是Windows XP或更早版本。这个打开句柄可以通过枚举目录和文件来实现。有关更多信息,请参见如何:枚举目录和文件。“

看看这个:http://msdn.microsoft.com/en-us/library/system.io.file.delete.aspx

从长远来看,自己进行一些搜索也会证明是有效的。

最好的问候。