我必须在文件的第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();