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