Разница между байтовым массивом и MemoryStream

Я читаю двоичный файл в программу анализа. Мне нужно будет перебирать файл и искать определенные маркеры, чтобы я мог разбить файл и передать эти части в конструкторы соответствующих объектов.

Есть ли преимущество в сохранении файла в виде потока, MemoryStream или FileStream, или он должен быть преобразован в массив byte []?

Кит

19.08.2008 20:57:24
2 ОТВЕТА
РЕШЕНИЕ

A byte[]или MemoryStreamоба потребуют перенести весь файл в память. A MemoryStreamдействительно является оберткой вокруг базового байтового массива. Лучший подход состоит в том, чтобы иметь два FileStream(один для ввода и один для вывода). Чтение из входного потока в поисках шаблона, используемого для указания того, что файл должен быть отделен при записи в текущий выходной файл.

Возможно, вы захотите обернуть входные и выходные файлы в a BinaryReaderи BinaryWriterсоответственно, если они повышают ценность вашего сценария.

25
17.05.2013 02:11:05

MemoryStream - это в основном байтовый массив с потоковым интерфейсом, например, последовательное чтение / запись и концепция текущей позиции.

8
19.08.2008 21:06:55