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