【问题标题】:Directory.Delete(path, true) throws IOException "The directory is not empty"Directory.Delete(path, true) 抛出 IOException “目录不为空”
【发布时间】:2013-06-25 00:55:21
【问题描述】:

我有代码创建一个临时目录,做一些事情,然后在完成后删除该目录。问题是,即使我为递归参数指定了 true,它仍然会抛出一个 IOException 说“目录不为空”。 这是我的代码:

DirectoryInfo info = Directory.CreateDirectory(Path.Combine(tempdir, "temp"));
try{
    PopulateDir(info);
    foreach (FileInfo file in info.EnumerateFiles("*.*", SearchOption.AllDirectories)){
        DoStuff(file);
    }
}
finally{
    info.Delete(true);// note: this is apparently functionally identical to Directory.Delete(info.FullName, true)
}

【问题讨论】:

    标签: c# .net directory


    【解决方案1】:

    看来info.EnumerateFiles 是问题所在。我从answer 得到了这个想法。 我将其切换为info.GetFiles,然后我就可以删除该目录了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-25
      • 2010-09-24
      • 2011-01-15
      • 1970-01-01
      • 2013-11-09
      • 2021-03-05
      • 1970-01-01
      相关资源
      最近更新 更多