我在删除文件后刷新文件列表时遇到问题。当我发出删除文件的命令时,异常被抛出,因为刷新方法试图访问一个应该被删除的文件。
经过一番思考和调试,我得出的结论是,问题在于系统需要一些时间来删除文件。我这样解决:
//Deleting file
System.Threading.Thread.Sleep(2000);
//Refreshing list
而且效果很好。
我的问题是
有没有更优雅的方法来等待系统删除文件然后继续代码...?
最佳答案
这对我有用:
public static void DeleteFile(String fileToDelete)
{
var fi = new System.IO.FileInfo(fileToDelete);
if (fi.Exists)
{
fi.Delete();
fi.Refresh();
while (fi.Exists)
{ System.Threading.Thread.Sleep(100);
fi.Refresh();
}
}
}
我发现大部分时候while循环是不会进入的。
关于c# - 等待系统删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9370012/