Только чтение указанного диапазона - PullRequest
2 голосов
/ 31 марта 2011

У меня есть текстовый файл, и я хочу прочитать из него только указанный диапазон (например, позиции от 20 до 80).

Я использую следующий код, но он читает от 0 до длиныspan.

char[] buffer = new char[span.Length];
using (StreamReader reader = new StreamReader(filename))
{               
    reader.ReadBlock(buffer, 0, span.Length);
}

Может кто-нибудь мне помочь?Спасибо

Ответы [ 3 ]

2 голосов
/ 31 марта 2011
char[] buffer = new char[span.Length];
using (StreamReader reader = new StreamReader(filename))
{    
    reader.BaseStream.Seek(span.Start, SeekOrigin.Begin); // or SeekOrigin.Current if you want to loop
    reader.Read(buffer, 0, span.Length);
}

Предполагается, что тип span имеет свойство Start.

0 голосов
/ 31 марта 2011
char[] buffer = new char[span.Length];
using (StreamReader reader = new StreamReader(filename))
{               
    reader.ReadBlock(buffer, startIndex, span.Length);
}

startIndex = с чего начать
span.Length = количество символов для чтения

0 голосов
/ 31 марта 2011

Вы пробовали?

char[] buffer = new char[span.Length];
using (StreamReader reader = new StreamReader(filename))
{               
    reader.ReadBlock(buffer, 20, span.Length);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...