Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Stream (Clase)

Proporciona una vista genérica de una secuencia de bytes.

Espacio de nombres:  System.IO
Ensamblado:  mscorlib (en mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class Stream : MarshalByRefObject, 
	IDisposable

El tipo Stream expone los siguientes miembros.

  NombreDescripción
Método protegidoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifStreamInicializa una nueva instancia de la clase Stream.
Arriba

  NombreDescripción
Propiedad públicaCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifCanReadCuando se reemplaza en una clase derivada, obtiene un valor que indica si la secuencia actual admite lectura.
Propiedad públicaCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifCanSeekCuando se reemplaza en una clase derivada, obtiene un valor que indica si la secuencia actual admite búsquedas.
Propiedad públicaCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifCanTimeoutObtiene un valor que determina si se puede agotar el tiempo de espera de la secuencia actual.
Propiedad públicaCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifCanWriteCuando se reemplaza en una clase derivada, obtiene un valor que indica si la secuencia actual admite escritura.
Propiedad públicaCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifLengthCuando se reemplaza en una clase derivada, obtiene el tamaño en bytes de la secuencia.
Propiedad públicaCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifPositionCuando se reemplaza en una clase derivada, se obtiene o se establece la posición dentro de la secuencia actual.
Propiedad públicaCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifReadTimeoutObtiene 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.
Propiedad públicaCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifWriteTimeoutObtiene 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.
Arriba

  NombreDescripción
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifBeginReadComienza una operación de lectura asincrónica.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifBeginWriteComienza una operación de escritura asincrónica.
Método públicoCompatible con XNA FrameworkCloseCierra la secuencia actual y libera todos los recursos (como sockets e identificadores de archivo) asociados a ésta.
Método públicoCopyTo(Stream)Lee los bytes de la secuencia actual y los escribe en una secuencia de destino.
Método públicoCopyTo(Stream, Int32)Lee todos los bytes de la secuencia actual y los escribe en una secuencia de destino, utilizando el tamaño de búfer especificado.
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.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifDispose()Libera todos los recursos utilizados por el objeto Stream.
Método protegidoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifDispose(Boolean)Libera los recursos no administrados que utiliza Stream y libera los recursos administrados de forma opcional.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifEndReadEspera a que se complete la lectura asincrónica que se encuentra pendiente.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifEndWriteFinaliza una operación de escritura asincrónica.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegidoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifFinalize 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 Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifFlushAl sobrescribir en una clase derivada, borra todos los búferes de esta secuencia y hace que todos los datos almacenados en el búfer se escriban en el dispositivo subyacente.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifGetHashCodeActúa como función hash para un tipo concreto. (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 Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifGetType 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 Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifMemberwiseClone() 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. Proporciona compatibilidad con una clase Contract.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifReadAl reescribir en una clase derivada, se lee una secuencia de bytes en la secuencia actual y se hace avanzar la posición dentro de la secuencia el número de bytes leídos.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifReadByteLee un byte de la secuencia y hace avanzar la posición de la secuencia en un byte, o devuelve -1 si está al final de la secuencia.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifSeekCuando se reemplaza en una clase derivada, se obtiene o se establece la posición dentro de la secuencia actual.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifSetLengthCuando se reemplaza en una clase derivada, se obtiene o se establece la posición dentro de la secuencia actual.
Método públicoMiembro estáticoSynchronizedCrea un contenedor seguro para subprocesos (sincronizado) alrededor del objeto Stream especificado.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifWriteAl reescribir en una clase derivada, se escribe una secuencia de bytes en la secuencia actual y se hace avanzar la posición dentro de la secuencia el número de bytes escritos.
Método públicoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifWriteByteEscribe un byte a la posición actual en la secuencia y avanza la posición de la secuencia en un byte.
Arriba

  NombreDescripción
Campo públicoMiembro estáticoCompatible con XNA Framework8f86tw9e.PortableClassLibrary(es-es,VS.100).gifNullClase Stream sin almacén de respaldo.
Arriba

Las secuencias comprenden tres operaciones fundamentales.

  1. Es posible leer información de las secuencias. La lectura es la transferencia de datos desde una secuencia a una estructura de datos, como, por ejemplo, una matriz de bytes.

  2. Se puede escribir información en las secuencias. La escritura es la transferencia de datos desde una estructura de datos hasta una secuencia.

  3. Las secuencias pueden admitir operaciones de búsqueda. Las operaciones de búsqueda consisten en la consulta y modificación de la posición actual en una secuencia. La capacidad de realizar este tipo de búsquedas depende del tipo de almacén de respaldo que posea una secuencia. Por ejemplo, las secuencias de red no trabajan con un concepto unificado de "posición actual" y, por tanto, no suelen admitir búsquedas.

Stream es la clase base de todas las secuencias. Una secuencia es una abstracción de una secuencia de bytes, como un archivo, un dispositivo de entrada/salida, un canal de comunicación interprocesos o un socket TCP/IP. La clase Stream y sus clases derivadas proporcionan una visión genérica de diferentes tipos de entrada y salida, aislando al programador de los detalles específicos del sistema operativo y sus dispositivos subyacentes.

Según el origen de datos o repositorio subyacente, las secuencias pueden admitir sólo algunas de estas características. Una aplicación puede consultar las características de una secuencia mediante las propiedades CanRead, CanWrite y CanSeek.

Los métodos Read y Write leen y escriben datos en varios formatos. Para secuencias que admiten búsquedas, se pueden utilizar los métodos Seek y SetLength, y las propiedades Position y Length para consultar y modificar la posición y longitud actuales de una secuencia.

Algunas implementaciones de secuencia almacenan los datos subyacentes en un búfer local para mejorar el rendimiento. Para estas secuencias, puede utilizarse el método Flush con el fin de borrar el contenido de los búferes internos y asegurar la escritura de todos los datos en el origen de datos o repositorio subyacente.

Al llamar a Close en un Stream, se vacían los datos almacenados en búfer mediante una llamada a Flush. Close también libera los recursos del sistema operativo como identificadores de archivos, conexiones de red o memoria usados para cualquier almacenamiento en búfer interno. La clase BufferedStream permite que una secuencia pueda estar contenida en otra secuencia almacenada en búfer con el fin de mejorar el rendimiento de lectura y escritura.

Si se necesita una secuencia sin almacén de respaldo (por ejemplo, un sector de almacenamiento de bits), se usa Null.

Notas para los implementadores

Al implementar una clase Stream derivada, se deben proporcionar implementaciones para los métodos Read y Write. Los métodos sincrónicos BeginRead, EndRead, BeginWrite y EndWrite se implementan mediante los métodos asincrónicos Read y Write. De forma similar, las implementaciones de Read y Write funcionarán correctamente con los método asincrónicos. Las implementaciones predeterminadas de ReadByte y WriteByte crean una nueva matriz de bytes de un solo elemento y, después, llaman a las implementaciones de Read y Write. Al derivar de Stream, si se dispone de un búfer de bytes interno, se recomienda especialmente reemplazar estos métodos para obtener acceso al búfer interno y obtener así una mejora sustancial en el rendimiento. También se deben proporcionar implementaciones de CanRead, CanSeek, CanWrite, Flush, Length, Position, Seek y SetLength.

No reemplace el método Close; en su lugar, ponga toda la lógica de limpieza de Stream en el método Dispose. Para obtener más información, vea Implementar un método Dispose.

TopicLocation
Cómo: Escribir texto en un archivoFundamentos de programación en .NET Framework
Cómo: Leer texto de un archivoFundamentos de programación en .NET Framework
Cómo: Escribir texto en un archivoFundamentos de programación en .NET Framework
Cómo: Leer texto de un archivoFundamentos de programación en .NET Framework

.NET Framework

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

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Compatible con:

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.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 static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft