Я использую StreamReader
для чтения строк из текстового файла. Для каждой строки у меня есть конкретные операции, которые выполняются.Выполнение операций после прочтения последней строки файла с помощью StreamReader
Пример:
System.IO.StreamReader file = new System.IO.StreamReader(fileDirectory); //Open StreamReader
while ((inFileString = file.ReadLine()) != null)
{
if(something)
{ do stuff... }
}
Моя проблема возникает после того, как последняя строка читается, потому что код внутри цикла while
становится недоступным. В принципе, мне нужно пройти через цикл while
еще раз, после того как он автоматически выйдет. Как выполнить мои операции над последней строкой, считанной из файла?
(я мог бы просто повторить операции вне цикла, но я решил, что было бы неэффективно ...)
Из любопытства почему бы просто не использовать 'File.ReadAllLines (fileDirectory)' вместо того, чтобы открывать поток, а затем читать строки? Это даст вам массив, который вы можете перебрать. –
@ siva.k, когда файл большой, чтение всего текста внутри памяти не может быть хорошим тигом. Я думаю, что подход OP хорош, так как его бизнес-логика позволяет обрабатывать файл по очереди. – 2014-08-28 19:41:01
@pwas Ах, да, хорошая точка. –