我有下面的代码搜索目录(z :),它返回昨天的所有文件,我需要阅读今天的文件列表,然后逐行阅读和搜索任何错误消息,如果我在文件中发现任何错误消息,我想写出文件名,然后写入文件中的错误消息,错误可以包含不同数量的行。逐行解析文件的目录中的错误消息
我遇到的第一个问题是当我尝试使用File.ReadLines(file)读取今天的文件列表时;它不喜欢这样,然后我还需要格式化写入文件名,然后输入错误消息以及它可以包含的不同行号。
这些文件采用.htm格式。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace NetworkSearch
{
class Program
{
static void Main(string[] args)
{
try
{
DateTime today = DateTime.Now.AddDays(-1);
FileInfo[] todaysFiles = new DirectoryInfo(@"z:\")
.EnumerateFiles()
.Select(x => {
x.Refresh();
return x;
})
.Where(x => x.CreationTime.Date == today || x.LastWriteTime >= today)
.ToArray()
;
string fileName = @"D:\Temp\Network.txt";
if (File.Exists(fileName))
{
File.Delete(fileName);
}
using (StreamWriter sw = File.CreateText(fileName))
foreach (FileInfo file in todaysFiles)
{
File.ReadLines(file);
if (line.Contains("ERROR"))
{
sw.WriteLine("----- ERROR -----");
sw.WriteLine(file); //file name
sw.WriteLine(errLine); //errline can contain diff nos of lines
sw.WriteLine("----- ERROR -----");
}
}
}
catch (UnauthorizedAccessException UAEx)
{
Console.WriteLine(UAEx.Message);
}
catch (PathTooLongException PathEx)
{
Console.WriteLine(PathEx.Message);
}
}
}
}
感谢您的帮助纪尧姆。 – John 2015-04-02 13:22:08