监听文件系统

本文关键字:文件系统 监听 | 更新日期: 2023-09-27 17:49:30

我想写一个应用程序如何处理文件和监听目录根,并添加到我的应用程序只有文件谁在最近2天创建的

  1. FileSystemWatcher Class只能监听一个目录还是可以监听根文件夹下的所有子目录?

  2. 只查找在最近2天内创建的文件的最佳选择是什么?(FileInfo。CreationTime ?)

监听文件系统

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

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();

您可能希望对性能差异进行基准测试,但对于少数文件,我怀疑是否会有显著差异。

根据MSDN:

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

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