Предположим следующий код:
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 сотен записей, все работало нормально.
Тогда возникает вопрос, почему это происходит с меньшими файлами, и есть ли обходной путь, который позволяет двоичное чтение меньших файлов.