Разобрать файл журнала и получить соответствующие данные - PullRequest
2 голосов
/ 15 сентября 2010

Из большого файла журнала (примерно как 2532910 строк) строк, которые я ищу, очень мало (например, 10 или 12).Каков наилучший способ сопоставить и прочитать эти строки?Мой код в C #.Есть ли способ, которым читатель / поток может читать только данные сопоставления с образцом?

Спасибо

1 Ответ

3 голосов
/ 15 сентября 2010

для чтения таких больших файлов лучше всего использовать streamReader.ReadLine ()

просто так:

StreamReader sr = new StreamReader(@"path_to_log");

int lineNum = 1;
const int searchingLineNum = 10;
string line = string.Empty;

while (sr.Peek() != -1)
{
    line = sr.ReadLine();

    if (lineNum == searchingLineNum)
    {
        break;
    }
    lineNum++;
}

Console.WriteLine(line); // do what you want with this line (parse using Regex)
...