Предположим, следующий код:
Stream file = files[0].InputStream;
var FileLen = files[0].ContentLength;
var b = new BinaryReader(file);
var bytes = b.ReadBytes(FileLen);
Если я загружаю CSV-файл, состоящий из 10 записей (257 байт), BinaryReader заполняет массив байтов «0».
Я также написал цикл для пошагового выполнения метода ReadByte BinaryReader, и в первой итерации цикла я получил следующее исключение:
Невозможно прочитать дальше конца потока
Когда я увеличил файл CSV до 200 сотен записей, все заработало просто отлично.
Тогда возникает вопрос: почему это происходит с файлами меньшего размера, и есть ли обходной путь, который позволяет двоичному чтению файлов меньшего размера.
b.BaseStream.Position = 0;
, прежде чем звонитьReadBytes
- person Adeel   schedule 03.02.2011