StreamReader, как изменить позицию?
Сетевые потоки операцию SEEK не поддерживают. Читай всё подряд в массив, а уже там выбирай нужное.
Такое может прокатить только с File/MemoryStream
Прежде чем устанавливать позицию, проверяй свойство Stream.CanSeek
Позицию начала скачивания нужно указывать в свойстве "ContentOffset" объекта "FtpWebRequest":
https://msdn.microsoft.com/en-us/library/system.ne...
Поток (Stream) трогать не нужно. Там уже будут данные с нужной нам позиции.