it-roy-ru.com

Как мне преобразовать struct System.Byte byte [] в объект System.IO.Stream в C #?

Как мне преобразовать struct System.Bytebyte[] в объект System.IO.Stream в C #?

659
Mehdi Hadeli

Самый простой способ преобразовать байтовый массив в поток - использовать класс MemoryStream :

Stream stream = new MemoryStream(byteArray);
1115
Martin Buberl

Вы ищете MemoryStream.Write метод . Например, следующий код запишет содержимое массива byte[] в поток памяти:

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream();
stream.Write(myByteArray, 0, myByteArray.Length);

В качестве альтернативы, вы можете создать новый объект неизменяемого размера MemoryStream на основе байтового массива:

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);
306
Cody Gray

Общий подход для записи в любой поток (не только MemoryStream) заключается в использовании BinaryWriter:

static void Write(Stream s, Byte[] bytes)
{
    using (var writer = new BinaryWriter(s))
    {
        writer.Write(bytes);
    }
}
27
QrystaL

Посмотрите в MemoryStream класс.

4
Corey Ogburn