【问题标题】:File deleting error [duplicate]文件删除错误[重复]
【发布时间】:2012-09-15 07:01:18
【问题描述】:

可能重复:
The process cannot access the file because it is being used by another process

我的应用程序中有一个 PDF 文件,我想删除该文件。当我尝试删除文件时出现错误“该进程无法访问该文件,因为它正在被另一个进程使用。”

代码如下

if (File.Exists(sDownloadFile))
             File.Delete(sDownloadFile);

我怎样才能删除这个文件?

【问题讨论】:

  • 你用的是什么类型的应用程序?
  • 还是没有弄清楚你的问题。你只发布了删除的乐趣。在那之前你在那个文件里做了什么?你是怎么打开那个文件的?是否可以共享该文件?你可以发布源代码吗?或者至少发布您打开该文件的乐趣?
  • 当我点击一个按钮删除文件时,我只是检查文件是否存在然后删除
  • 当我尝试下载文件并关闭窗口时会发生这种情况。然后在2-3秒后快速点击删除按钮说一下

标签: c# file file-io


【解决方案1】:

错误的原因有点简单。您打开了一个文件,但没有正确关闭它。实例仍然存在于内存中。

编写.Close().Dispose()方法释放内存。

示例代码from here:

WebClient wc = new WebClient();
wc.DownloadFile("https://stackoverflow.com/Content/Img/stackoverflow-logo-250.png", "Foo.png");
FileStream fooStream;
using (fooStream = new FileStream("foo.png", FileMode.Open))
{
    // do stuff
}
File.Move("foo.png", "foo2.png");

【讨论】:

  • 我是文件新手,请给我一个样本
猜你喜欢
  • 1970-01-01
  • 2015-05-25
  • 2019-01-19
  • 2016-07-19
  • 1970-01-01
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
  • 2017-09-24
相关资源
最近更新 更多