是否值得使用FileSystemWatcher来查看在3小时内创建10k文件的文件夹

时间:2011-10-29 11:58:13

标签: c# .net filesystemwatcher

我需要查看新文件的文件夹,在3小时内创建最多10k个文件。这是我第一次使用FileSystemWatcher,所以我很担心它是否可以一次处理这么多文件。所以使用filesystemWatcher是最好的方法。或者连续轮询文件夹是最好的方法吗?

所以请向我推荐最好的方法,即使不是这两种方法。

先谢谢。

1 个答案:

答案 0 :(得分:4)

3小时内10000个文件只有大约每秒1个(虽然显然它可能更加爆炸)。我怀疑这会导致FileSystemWatcher出现问题。你试过吗?

我会稍微担心一个包含10,000个文件的目录在多大程度上仍然可以执行 - 它可能取决于文件系统。您可以随时将“已处理”文件移动到其他目录吗?

轮询当然是一种选择 - 尽管采用这两种方法,您仍需要小心处理新文件,以防它们仍然被编写。 (一种选择是写入另一个目录,然后以原子方式重命名该文件 - 或者使用文件扩展名以获得相同的效果,例如写入foo.tmp然后重命名为foo.txt,并且只处理.txt个文件。)