根据最后修改日期和文件内的文本查找特定文件

本文关键字:文件 文本 查找 最后 修改 日期 | 更新日期: 2023-09-27 17:51:09

我必须在文件的第3行找到最后修改日期和包含特定文本模式的文件。

var directory = new DirectoryInfo("D:''test");
var dispenser = directory.GetFiles("Dispenser*")
                         .OrderByDescending(f => f.LastWriteTime)
                         .First();
dispenser.CopyTo("..''..''Dispenser", true);
dispenserCopy = true;

返回第一个文件名以'Dispenser'开头和最后修改日期的文件。我如何检查第3行是否有特定的文本?如果它没有-检查下一个"分发器*"文件(通过降序修改日期)等等,等等,直到有一个文本在第3行?

谢谢!

根据最后修改日期和文件内的文本查找特定文件

EDIT:编辑以尝试匹配我认为您想要实现的目标。话虽如此,如果我处在您的位置,我会诚实地退后一步,重新考虑对XML数据对固定行号使用字符串操作的方法。

var dispenser =
   directory.GetFiles("Dispenser*")
            .OrderByDescending(f => f.LastWriteTime)
            .Where(f => (File.ReadLines(f.FullName)
                             .Skip(2)
                             .FirstOrDefault()
                               ?? String.Empty).Contains("MY_EXPECTED_LINE"))
            .FirstOrDefault();