Para obtener un ejemplo de cómo crear un archivo y escribir texto en él, vea Cómo: Escribir texto en un archivo. Para obtener un ejemplo de cómo leer texto de un archivo, vea Cómo: Leer texto de un archivo. Para obtener un ejemplo de cómo leer y escribir en un archivo binario, vea Cómo: Leer y escribir en un archivo de datos recién creado.
La clase MemoryStream crea secuencias que utilizan como almacén de respaldo la memoria en lugar de un disco o una conexión de red. MemoryStream encapsula los datos almacenados como una matriz de bytes sin signo que se inicializa al crear un objeto MemoryStream; también se puede crear una matriz vacía. Es posible obtener acceso directamente a los datos encapsulados en la memoria. Las secuencias de memoria pueden reducir la necesidad de archivos y búferes temporales en una aplicación.
La posición actual de una secuencia es la posición donde se llevará a cabo la siguiente operación de lectura o escritura. La posición actual puede recuperarse o establecerse mediante el método Seek. Al crear una nueva instancia de MemoryStream, la posición actual se establece en cero.
Las secuencias de memoria creadas con una matriz de bytes sin signo proporcionan una vista de secuencia de los datos que no es de tamaño variable y sólo es posible escribir en ellas. Al utilizar una matriz de bytes, no es posible anexar la secuencia ni reducirla, aunque tal vez sea posible modificar el contenido existente dependiendo de los parámetros pasados al constructor. Las secuencias de memoria vacías son de tamaño variable y se puede escribir y leer en ellas.
Si se agrega un objeto MemoryStream a un archivo ResX o un archivo .resources, llame al método GetStream en tiempo de ejecución para recuperarlo.
Si un objeto MemoryStream se serializa en un archivo de recursos, su serialización se realizará realmente como si fuera UnmanagedMemoryStream. Este comportamiento proporciona un mejor rendimiento, así como la capacidad de obtener directamente un puntero a los datos, sin necesidad de pasar por los métodos de Stream.
Nota de la plataforma Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows CE:
En Windows CE, una secuencia de memoria pegada del Portapapeles puede tener un tamaño ligeramente mayor que la secuencia de memoria copiada al Portapapeles, porque se pueden anexar bytes adicionales al final de la secuencia de memoria original. Para recuperar con precisión la secuencia de memoria se puede encabezar el objeto con su tamaño para determinar cómo recibirlo o copiar un DataObject al Portapapeles que contiene la secuencia de memoria y un valor de cadena de su tamaño.