C# 检测文件夹中的新文件

C# 检测文件夹中的新文件,c#,.net,windows,C#,.net,Windows,我有一个在一个目录中有10000多个文件的应用程序。每天有一次,更多的文件被添加到目录中。理论上,这些文件不会改变。问题是需要花费大量时间来检查以确保这些文件不在数据库中。我查看了FileSystemWatcher类,但我的应用程序并不总是全天候运行。文件时间戳也可能早于最新文件。因此,我不能指望文件时间戳 对新文件进行假阳性比对假阴性要好 我正在寻找加快这一进程的建议 这是一个Windows 7+和.NET应用程序。要想获得加快速度的建议,您需要发布一段您现在拥有的代码片段。我有一个类似的东西

我有一个在一个目录中有10000多个文件的应用程序。每天有一次,更多的文件被添加到目录中。理论上,这些文件不会改变。问题是需要花费大量时间来检查以确保这些文件不在数据库中。我查看了FileSystemWatcher类,但我的应用程序并不总是全天候运行。文件时间戳也可能早于最新文件。因此,我不能指望文件时间戳

对新文件进行假阳性比对假阴性要好

我正在寻找加快这一进程的建议


这是一个Windows 7+和.NET应用程序。

要想获得加快速度的建议,您需要发布一段您现在拥有的代码片段。我有一个类似的东西,尽管文件要少得多。我们让应用程序在启动时扫描目录,然后在运行时使用FileSystemWatcher。这是一个丑陋的解决方案,尤其是如果目录中已经有10000个文件,但在处理完一个文件后,我们会创建另一个名为original_filename.done的文件。如果可以,可以每月将文件分为子文件夹,例如201409、201410、201411等,以减少单个文件夹中的文件数。一个文件夹中有10000个文件会大大降低该文件夹的文件系统功能。如何确定该文件是否在数据库中?问题是,检查这些文件是否不在数据库中需要花费大量时间。执行此操作的代码在哪里?