关于c#4.0:跳过另一个进程正在使用的文件

skip a file which is being used by another process

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
C#: Is there a way to check if a file is in use?

我创建了一个应用程序来学习C。它所做的就是在列表视图中列出临时目录,然后单击一个按钮删除该目录中的文件,但当我执行此操作时,有些文件正在使用中,如何在删除未使用的文件时跳过正在使用的文件。


试图预测文件系统的行为是徒劳的,因为任何其他进程都可能改变您的状态。继续操作的最佳方法是尝试您的操作并捕获可能由失败导致的异常

1
2
3
4
5
6
7
foreach (var name in Directory.GetFiles(somePath)) {
  try {
    File.Delete(name);
  } catch (Exception) {
    // Ignore the failure and continue
  }
}