Comment convertir la structure System.Byte
byte[]
en un objet System.IO.Stream
en C# ?
Vous recherchez la méthode [MemoryStream.Write
][1]. Par exemple, le code suivant écrit le contenu d'un tableau byte[]
dans un flux de mémoire :
byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream();
stream.Write(myByteArray, 0, myByteArray.Length);
Vous pouvez également [créer un nouvel][2] objet MemoryStream
, non redimensionnable, basé sur le tableau d'octets :
byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);
[1] : http://msdn.microsoft.com/en-us/library/system.io.memorystream.write.aspx [2] : http://msdn.microsoft.com/en-us/library/e55f3s5k.aspx
L'approche générale pour écrire dans n'importe quel flux (pas seulement MemoryStream
) est d'utiliser BinaryWriter
:
static void Write(Stream s, Byte[] bytes)
{
using (var writer = new BinaryWriter(s))
{
writer.Write(bytes);
}
}