read que imprimir from create c# .net stream

c# - que - ¿Cómo cargar todo el flujo en MemoryStream?



stream read c# (2)

Algunas opciones:

Léelo todo en una matriz de bytes primero ...

byte[] data = File.ReadAllBytes(file); MemoryStream stream = new MemoryStream(data);

O use el método CopyTo de .NET 4

MemoryStream memoryStream = new MemoryStream(); using (Stream input = File.OpenRead(file)) { input.CopyTo(memoryStream); } memoryStream.Position = 0;

O hacerlo manualmente

MemoryStream memoryStream = new MemoryStream(); using (Stream input = File.OpenRead(file)) { byte[] buffer = new byte[32 * 1024]; // 32K buffer for example int bytesRead; while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0) { memoryStream.Write(buffer, 0, bytesRead); } } memoryStream.Position = 0;

Al igual que en el tema: quiero leer datos de un archivo (de flujo) a memoria (flujo de memoria) para mejorar la velocidad de mi aplicación. ¿Cómo hacerlo?


Si puede mantener todo el archivo en la memoria, File.ReadAllBytes debería funcionar para usted:

using (var ms = new MemoryStream(File.ReadAllBytes(file))) { // do work }