2

我想编写应用程序如何处理文件并听取目录根目录并将仅在过去 2 天内创建的文件添加到我的应用程序中。

  1. FileSystemWatcher类可以只听一个目录还是可以用我的根文件夹下的所有子目录来做?

  2. 仅查找最近两天创建的文件的最佳选择是什么?(文件信息。创建时间?)

4

2 回答 2

2

根据MSDN

使用 FileSystemWatcher 监视指定目录中的更改。您可以监视指定目录的文件和子目录的变化。

因此,要回答您的第一个问题,是的,它可以对您的根文件夹的所有子目录执行此操作。

于 2012-12-24T15:32:27.523 回答
2

对于第二个问题,您可以遍历目录中的文件并检查它们的创建日期。

foreach (FileInfo fi in directory.GetFiles())
{
    if (fi.CreationTime.Date <= DateTime.Today.AddDays(-2)) 
    {
        //process file
    }
}

或者,您可以使用 LINQ

var recentFiles = directory.GetFiles().Where(x =>
                                x.CreationTime.Date <= DateTime.Today.AddDays(-2))
                                .Select(x => x.Name)
                                .ToList();

您需要对性能差异进行基准测试,但对于少数文件,我怀疑会有显着差异。

于 2012-12-24T15:39:50.133 回答