我想编写应用程序如何处理文件并听取目录根目录并将仅在过去 2 天内创建的文件添加到我的应用程序中。
FileSystemWatcher
类可以只听一个目录还是可以用我的根文件夹下的所有子目录来做?仅查找最近两天创建的文件的最佳选择是什么?(文件信息。创建时间?)
我想编写应用程序如何处理文件并听取目录根目录并将仅在过去 2 天内创建的文件添加到我的应用程序中。
FileSystemWatcher
类可以只听一个目录还是可以用我的根文件夹下的所有子目录来做?
仅查找最近两天创建的文件的最佳选择是什么?(文件信息。创建时间?)
根据MSDN:
使用 FileSystemWatcher 监视指定目录中的更改。您可以监视指定目录的文件和子目录的变化。
因此,要回答您的第一个问题,是的,它可以对您的根文件夹的所有子目录执行此操作。
对于第二个问题,您可以遍历目录中的文件并检查它们的创建日期。
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();
您需要对性能差异进行基准测试,但对于少数文件,我怀疑会有显着差异。