Разница между байтовым массивом и MemoryStream
Я читаю двоичный файл в программу синтаксического анализа. Мне нужно будет пройтись по файлу и найти определенные маркеры, чтобы я мог разделить файл и передать эти части в соответствующие конструкторы объектов.
Есть ли преимущество в хранении файла в виде потока, MemoryStream или FileStream, или его следует преобразовать в массив byte []?
Кит
Ответов (2)2
A byte[]
или MemoryStream
оба потребуют переноса всего файла в память. A MemoryStream
на самом деле является оболочкой для базового байтового массива. Лучше всего иметь два FileStream
(один для ввода и один для вывода). Чтение из входного потока ищет шаблон, используемый для указания, что файл должен быть разделен при записи в текущий выходной файл.
Возможно, вы захотите обернуть входные и выходные файлы в BinaryReader
и, BinaryWriter
соответственно, если они добавят ценности вашему сценарию.