Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Personas que lo han encontrado útil: 2 de 2 - Valorar este tema

MemoryStream (Clase)

Crea una secuencia cuya memoria auxiliar es la memoria.

Espacio de nombres:  System.IO
Ensamblado:  mscorlib (en mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class MemoryStream : Stream

El tipo MemoryStream expone los siguientes miembros.

  NombreDescripción
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMemoryStream()Inicializa una nueva instancia de la clase MemoryStream con una capacidad expansible inicializada con un valor cero.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMemoryStream(Byte[])Inicializa una nueva instancia invariable de la clase MemoryStream de acuerdo con la matriz de bytes especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMemoryStream(Int32)Inicializa una nueva instancia de la clase MemoryStream con una capacidad expansible inicializada según lo especificado.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMemoryStream(Byte[], Boolean)Inicializa una nueva instancia invariable de la clase MemoryStream según la matriz de bytes especificada con la propiedad CanWrite establecida como se ha indicado.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMemoryStream(Byte[], Int32, Int32)Inicializa una nueva instancia invariable de la clase MemoryStream según la región especificada (índice) de una matriz de bytes.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMemoryStream(Byte[], Int32, Int32, Boolean)Inicializa una nueva instancia invariable de la clase MemoryStream según la región especificada de una matriz de bytes, con la propiedad CanWrite establecida como se ha indicado.
Método públicoCompatible con XNA FrameworkMemoryStream(Byte[], Int32, Int32, Boolean, Boolean)Inicializa una nueva instancia de la clase MemoryStream según la región especificada de una matriz de bytes, con la propiedad CanWrite establecida como se ha indicado y la posibilidad de llamar a GetBuffer establecida según lo especificado.
Arriba
  NombreDescripción
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCanReadObtiene un valor que indica si la secuencia actual admite lectura. (Invalida a Stream.CanRead).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCanSeekObtiene un valor que indica si la secuencia actual admite operaciones Seek. (Invalida a Stream.CanSeek).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCanTimeoutObtiene un valor que determina si se puede agotar el tiempo de espera de la secuencia actual. (Se hereda de Stream).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCanWriteObtiene un valor que indica si la secuencia actual admite escritura. (Invalida a Stream.CanWrite).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCapacityObtiene o establece el número de bytes asignados a esta secuencia.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLengthObtiene la longitud de la secuencia en bytes. (Invalida a Stream.Length).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsPositionObtiene o establece la posición actual dentro de la secuencia. (Invalida a Stream.Position).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadTimeoutObtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de lectura antes de que se agote el tiempo de espera. (Se hereda de Stream).
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteTimeoutObtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de escritura antes de que se agote el tiempo de espera. (Se hereda de Stream).
Arriba
  NombreDescripción
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableBeginReadComienza una operación de lectura asincrónica. (Utilice ReadAsync en su lugar; vea la sección comentarios.) (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableBeginWriteComienza una operación de escritura asincrónica. (Considere usar WriteAsync en su lugar; vea la sección comentarios). (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCloseCierra la secuencia actual y libera todos los recursos (como sockets e identificadores de archivo) asociados a esta. En lugar de llamar a este método, asegúrese de que el flujo se desecha correctamente. (Se hereda de Stream).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCopyTo(Stream)Lee los bytes de la secuencia actual y los escribe en otra secuencia de destino. (Se hereda de Stream).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCopyTo(Stream, Int32)Lee todos los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsCopyToAsync(Stream)Lee asincrónicamente todos los bytes de la secuencia actual y los escribe en otra secuencia. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsCopyToAsync(Stream, Int32)Lee asincrónicamente todos los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado. (Se hereda de Stream).
Método públicoCopyToAsync(Stream, Int32, CancellationToken)De forma asincrónica lee todos los bytes de la secuencia actual y los escribe en otra secuencia, utilizando un tamaño de búfer especificado y token de cancelación. (Invalida a Stream.CopyToAsync(Stream, Int32, CancellationToken)).
Método públicoCreateObjRefCrea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Se hereda de MarshalByRefObject).
Método protegidoCompatible con XNA FrameworkCreateWaitHandle Obsoleto. Asigna un objeto WaitHandle. (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDispose()Libera todos los recursos utilizados por Stream. (Se hereda de Stream).
Método protegidoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDispose(Boolean)Libera los recursos no administrados utilizados por la clase MemoryStream y, de forma opcional, libera los recursos administrados. (Invalida a Stream.Dispose(Boolean)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableEndReadEspera a que se complete la lectura asincrónica que se encuentra pendiente. (Utilice ReadAsync en su lugar; vea la sección comentarios.) (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableEndWriteFinaliza una operación de escritura asincrónica. (Considere usar WriteAsync en su lugar; vea la sección comentarios). (Se hereda de Stream).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFlushReemplaza el método Stream.Flush de modo que no se realice ninguna acción. (Invalida a Stream.Flush()).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsFlushAsync()Borra asincrónicamente todos los búferes para este flujo y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsFlushAsync(CancellationToken)De forma asincrónica borra todos los búferes de esta secuencia, y controlar solicitudes de cancelación. (Invalida a Stream.FlushAsync(CancellationToken)).
Método públicoCompatible con XNA FrameworkGetBufferDevuelve la matriz de bytes sin signo a partir de la cual se creó esta secuencia.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetLifetimeServiceRecupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetType Obtiene el Typede la instancia actual. (Se hereda de Object).
Método públicoInitializeLifetimeServiceObtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método protegidoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMemberwiseClone() Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoMemberwiseClone(Boolean)Crea una copia superficial del objeto MarshalByRefObject actual. (Se hereda de MarshalByRefObject).
Método protegidoObjectInvariantInfraestructura. Obsoleto. Proporciona compatibilidad con una clase Contract. (Se hereda de Stream).

In .NET Framework Client Profile, este miembro está invalidado por ObjectInvariant().
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadLee un bloque de bytes de la secuencia actual y escribe los datos en un búfer. (Invalida a Stream.Read(Byte[], Int32, Int32)).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsReadAsync(Byte[], Int32, Int32)Lee asincrónicamente una secuencia de bytes de la secuencia actual y avanza la posición en esta secuencia según el número de bytes leídos. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsReadAsync(Byte[], Int32, Int32, CancellationToken)De forma asincrónica lee una secuencia de bytes de la secuencia actual, avance la posición en la secuencia por el número de bytes leídos, y controlar solicitudes de cancelación. (Invalida a Stream.ReadAsync(Byte[], Int32, Int32, CancellationToken)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReadByteLee un byte de la secuencia actual. (Invalida a Stream.ReadByte()).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSeekEstablece la posición dentro de la secuencia actual en el valor especificado. (Invalida a Stream.Seek(Int64, SeekOrigin)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSetLengthEstablece la longitud de la secuencia actual en el valor especificado. (Invalida a Stream.SetLength(Int64)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToArrayEscribe el contenido de la secuencia en una matriz de bytes, independientemente de la propiedad Position.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteEscribe un bloque de bytes en la secuencia actual mediante el uso de datos leídos de un búfer. (Invalida a Stream.Write(Byte[], Int32, Int32)).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsWriteAsync(Byte[], Int32, Int32)Escribe asincrónicamente una secuencia de bytes en la secuencia actual y avanza la posición actual en esta secuencia según el número de bytes escritos. (Se hereda de Stream).
Método públicoCompatible con .NET para aplicaciones de la Tienda WindowsWriteAsync(Byte[], Int32, Int32, CancellationToken)De forma asincrónica escribe una secuencia de bytes en la secuencia actual, avance la posición actual dentro de esta secuencia por el número de bytes escritos, y controlar solicitudes de cancelación. (Invalida a Stream.WriteAsync(Byte[], Int32, Int32, CancellationToken)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteByteEscribe un byte en la posición actual de la secuencia actual. (Invalida a Stream.WriteByte(Byte)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsWriteToEscribe el contenido completo de esta secuencia de memoria en otra secuencia.
Arriba
  NombreDescripción
Método de extensión públicoCompatible con .NET para aplicaciones de la Tienda WindowsAsInputStreamConvierte una secuencia administrada en .NET para aplicaciones de la Tienda Windows a un flujo de entrada en Windows en tiempo de ejecución. (Definido por WindowsRuntimeStreamExtensions).
Método de extensión públicoCompatible con .NET para aplicaciones de la Tienda WindowsAsOutputStreamConvierte una secuencia administrada en .NET para aplicaciones de la Tienda Windows a un flujo de salida en Windows en tiempo de ejecución. (Definido por WindowsRuntimeStreamExtensions).
Método de extensión públicoCompatible con .NET para aplicaciones de la Tienda WindowsGetWindowsRuntimeBuffer()Sobrecargado. Devuelve una interfaz de Windows.Storage.Streams.IBuffer que representa la misma que la secuencia de memoria concreta. (Definido por WindowsRuntimeBufferExtensions).
Método de extensión públicoCompatible con .NET para aplicaciones de la Tienda WindowsGetWindowsRuntimeBuffer(Int32, Int32)Sobrecargado. Devuelve una interfaz de Windows.Storage.Streams.IBuffer que representa una región dentro de memoria que la secuencia especificada de memoria representa. (Definido por WindowsRuntimeBufferExtensions).
Arriba

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 secuencia de datos que no es de tamaño variable. 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.

En el ejemplo de código siguiente se muestra la forma de leer y escribir datos utilizando la memoria como memoria auxiliar.


using System;
using System.IO;
using System.Text;

class MemStream
{
    static void Main()
    {
        int count;
        byte[] byteArray;
        char[] charArray;
        UnicodeEncoding uniEncoding = new UnicodeEncoding();

        // Create the data to write to the stream.
        byte[] firstString = uniEncoding.GetBytes(
            "Invalid file path characters are: ");
        byte[] secondString = uniEncoding.GetBytes(
            Path.GetInvalidPathChars());

        using(MemoryStream memStream = new MemoryStream(100))
        {
            // Write the first string to the stream.
            memStream.Write(firstString, 0 , firstString.Length);

            // Write the second string to the stream, byte by byte.
            count = 0;
            while(count < secondString.Length)
            {
                memStream.WriteByte(secondString[count++]);
            }

            // Write the stream properties to the console.
            Console.WriteLine(
                "Capacity = {0}, Length = {1}, Position = {2}\n",
                memStream.Capacity.ToString(),
                memStream.Length.ToString(),
                memStream.Position.ToString());

            // Set the position to the beginning of the stream.
            memStream.Seek(0, SeekOrigin.Begin);

            // Read the first 20 bytes from the stream.
            byteArray = new byte[memStream.Length];
            count = memStream.Read(byteArray, 0, 20);

            // Read the remaining bytes, byte by byte.
            while(count < memStream.Length)
            {
                byteArray[count++] =
                    Convert.ToByte(memStream.ReadByte());
            }

            // Decode the byte array into a char array
            // and write it to the console.
            charArray = new char[uniEncoding.GetCharCount(
                byteArray, 0, count)];
            uniEncoding.GetDecoder().GetChars(
                byteArray, 0, count, charArray, 0);
            Console.WriteLine(charArray);
        }
    }
}


.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Todos los miembros públicos static (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.