1

我有一个文件夹,里面有很多文件(比如说 100,000 个文件)。另一个过程是在该文件夹中快速创建新文件,我想有效地跟踪这些新创建的文件(FileSystemWatcher在这里无能为力,因为我得到了很多“一次更改太多”异常)。

所以我想我可以通过使用 Directory.EnumerateFiles(...) 来解决这个问题,只需保留枚举器并每秒执行几次“MoveNext()”,这样我就不需要查看所有文件每次都已经创建。

问题是枚举器似乎正在处理目录的缓存版本,这意味着我永远不会获得新创建的文件(除非重置枚举器,这意味着再次遍历目录的全部内容)。

我还尝试了CodeProject 中的FastDirectoryEnumerator(尽管我内心深处知道它们的工作方式可能完全相同)但得到了相同的结果。

我真的希望有另一种优雅的方法来解决这个问题,知道吗?

4

0 回答 0