删除的文件仍显示在Directory.GetFiles结果中

时间:2011-06-23 14:10:47

标签: c#

我有两个网络方法。第一个是:

void deleteFile(string filePath)
{
  File.Delete(filePath);
}

另一个是:

string[] getAllFile()
{
  // at the same folder....
  Directory.GetFiles("*.xml");
  .....
  return ....   
}

我正在调用这些方法:

deleteFile("1.xml")
getAllFile();

尽管删除了“1.xml”文件,但对Directory.GetFiles("*.xml");的调用仍会在结果中返回“1.xml”。换句话说,它似乎没有被删除。

然后,当我循环结果时,尝试读取文件,获取FileNoFoundException

2 个答案:

答案 0 :(得分:4)

我发现DirectoryInfo / FileInfo类并不总是更新。在这些情况下,您需要在目录/文件实例上调用Refresh方法。

答案 1 :(得分:0)

我不知道,但我怀疑你的网络方法的结果正在某处缓存。