Файл потоковый объект представляет собой открытый файл (с диска) в виде потока. Поток памяти представляет собой область памяти (байтовый массив) в виде потока. Таким образом, вы не можете реально преобразовать поток памяти в поток файлов напрямую - по крайней мере, не тривиально.
Есть два подхода, которые Вы могли бы взять с собой:
OFFLINE: полностью поглотить содержимое потока памяти и записывать все это в файл на диске; затем открыть этот файл в виде потока файла
ОНЛАЙН: Степень класс FileStream создает адаптер, который будет обернуть объект MemoryStream и подвергнуть его как FileStream (по существу, действующей в качестве преобразователя)
Причина, по которой отмечена [OFFLINE], заключается в том, что вам нужно иметь полное содержимое потока памяти, прежде чем вы выводите его в файл (и как только вы это сделаете, изменения в потоке файлов не повлияют на поток памяти, а также изменения в поток памяти, такой как новые данные, будет доступен для потока файлов)
Вторая отмечена как [ONLINE], поскольку после создания адаптера и инициализации объекта FileStream из MemoryStream вы можете обрабатывать любые новые данные в MemoryStream с помощью объекта адаптера FileStream. Вы, по существу, сможете читать/записывать и искать в потоке памяти, используя поток файлов в качестве слоя поверх потока памяти. Предположительно, это то, что вы хотели бы сделать.
Конечно, это зависит от того, что вам нужно сделать, но я склоняюсь к второй версии [ONLINE] как к лучшему в общем смысле.
Вы хотите, чтобы * написать * поток памяти в файл? –
Что вы подразумеваете под массивом MemoryStream? Массив? Итак, у вас нет одного потока памяти, но несколько? В любом случае, MemoryStream означает, что данные хранятся в памяти. Чтобы «преобразовать» его, вам нужно будет создать файл и сохранить там данные. –
ElDog