c# - leer - memorystream to filestream
¿Cómo puedo cargar una cadena en un FileStream sin tener que ir al disco? (1)
string abc = "This is a string";
¿Cómo puedo cargar abc en un FileStream?
FileStream input = new FileStream(.....);
Utilice un MemoryStream lugar ...
MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(abc));
recuerde que un MemoryStream (como un FileStream) debe cerrarse cuando haya terminado con él. Siempre puede colocar su código en un bloque de uso para hacer esto más fácil ...
using(MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(abc)))
{
//use the stream here and don''t worry about needing to close it
}
NOTA: Si su cadena es Unicode en lugar de ASCII, es posible que desee especificar esto al convertir a una matriz de bytes. Básicamente, un carácter Unicode ocupa 2 bytes en lugar de 1. Se agregará relleno si es necesario (por ejemplo, 0x00 0x61
= "a" en Unicode, donde como en ASCII 0x61
= "a")