Directory.EnumerateFiles是否会在不断添加新文件的文件夹中工作?

时间:2012-02-27 11:28:21

标签: .net c#-4.0 file-io

我有一个包含许多文件的文件夹。文件不断从外部进程放入此文件夹。

我需要一次拿起一个文件并处理它们。

我打算使用GetFiles(),但发现EnumerateFiles()似乎更好,因为它不会等待字符串数组完全填充,然后才能使用内容。

EnumerateFiles是否能够应对新文件将不断写入此文件夹的事实?它将如何表现?

我的处理器将作为Windows服务运行,因此当它到达Enumerable中的文件末尾时,它将在x秒后再次运行。

2 个答案:

答案 0 :(得分:3)

您可以使用文件系统观察程序:

http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

并收听ChangedCreated事件。

答案 1 :(得分:0)

文档没有提到这是一个问题。我希望它能返回那里的所有文件,直到它完成执行。两者之间的唯一区别是它们返回枚举的方式。

第一个答案中提到的

FileWatcher是要走的路。