Я пишу мои журналы в текстовом файле на моем локальном месте (C: \ Temp \ log.txt) с помощью C#. Текстовый файл хранится, как показано нижеКак читать даты в текстовом файле с помощью C#
2011-11-17 23:05:17,266 [6] FATAL Application
2011-11-17 23:05:18,094 [6] FATAL Service
2011-11-17 23:17:08,862 [6] FATAL Receipts - SaveReceipts
System.InvalidOperationException: Sequence contains no elements
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at GID.AAFramework.EntityWrapper.ReceiptFacade.SaveReceipts(IEnumerable`1 records, String user) in c:\AdvancedAnalyticsProjects\Surya\Trunk\dotnet_src\GID.AAFramework.EntityWrapper\ReceiptFacade.cs:line 632
Теперь я хочу, чтобы прочитать этот файл и хочет взять первый раз журнал введенной дату и последней дату
Как получить первую дату времени и последняя обновленная дата в этом текстовом файле?
Сейчас я читаю этот текстовый файл, используя следующий код:
StreamReader sr = new StreamReader(FileLocation);
if (sr != null)
{
linelist.Add(sr.ReadToEnd());
LogInfoByDate.Add(FileLocation, "StartDate:" + linelist.First().Substring(0, 10) + "|" + "EndDate:" + linelist.Last().Substring(0, 10));
}
Этот код я пишу для принятия первой даты времени и последнего обновления даты, если Исключение линии одного но не работает для исключения с несколькими линиями, как я показал выше. Теперь это моя проблема. Кто-нибудь скажет мне, как взять первую и последнюю дату в этом текстовом файле?
Если это не 'sr.ReadLine()' –
почему вы не используете CreationTime FILEINFO и LastWriteTime? http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx –
На данный момент вы не обрабатываете файл по очереди, вы просто читаете всю вещь. Мне кажется, что вы должны читать строки за строкой, проверяя, соответствует ли он определенному шаблону (может быть, регулярному выражению), и если да, то используя DateTime.ParseExact на подстроке, чтобы получить дату ...? –