0

我有一个创建文件的 C# 单线程应用程序。使用该文件,然后将其删除。有时应用程序无法删除该文件。我得到的错误是:

“进程无法访问文件——文件路径和文件名——因为它正被另一个进程使用。”

我怎样才能找出这个文件有什么进程,我怎样才能让那个进程放手,以便可以删除文件。

4

3 回答 3

0

这件事很适合那个“陷阱”。

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

进程监视器 v3.05

它有一个“过滤器”子菜单,因此您可以将其微调到锁定的文件。

于 2013-06-05T17:34:47.023 回答
0

您需要发布相关代码以便我们查看。

然而,确保您的应用程序关闭它已打开的文件始终很重要。

通常这样的事情将确保:

    using(var f = File.OpenRead("myfile")) {

       ...
    }

或等价物:

    try {
       var f = File.OpenRead("myfile");
    } finally {

       f.close()

    }
于 2013-06-05T17:35:56.273 回答
0

确保在删除之前关闭文件。

如果您使用 StreamWriter 类,请确保您使用其变量关闭

Ex. StreamWriter sw = new StreamWriter();
     // some writing operation 
    sw.Close();
于 2013-06-05T17:36:48.513 回答