MemoryStream.Read Método

Definición

Sobrecargas

Read(Span<Byte>)

Lee una secuencia de bytes del flujo de memoria y avanza la posición en la secuencia de memoria según el número de bytes leídos.

Read(Byte[], Int32, Int32)

Lee un bloque de bytes de la secuencia actual y escribe los datos en un búfer.

Read(Span<Byte>)

Source:
MemoryStream.cs
Source:
MemoryStream.cs
Source:
MemoryStream.cs

Lee una secuencia de bytes del flujo de memoria y avanza la posición en la secuencia de memoria según el número de bytes leídos.

public:
 override int Read(Span<System::Byte> destination);
public:
 override int Read(Span<System::Byte> buffer);
public override int Read (Span<byte> destination);
public override int Read (Span<byte> buffer);
override this.Read : Span<byte> -> int
override this.Read : Span<byte> -> int
Public Overrides Function Read (destination As Span(Of Byte)) As Integer
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer

Parámetros

destinationbuffer
Span<Byte>

Región de memoria. Cuando este método devuelve un valor, el contenido de este intervalo se reemplaza por los bytes leídos del origen de la secuencia de memoria actual.

Devoluciones

Número total de bytes leídos en el búfer. Puede ser menor que el número de bytes asignado en el búfer si esos bytes no están disponibles en ese momento, o bien cero (0) si se ha alcanzado el final de la secuencia de memoria.

Se aplica a

Read(Byte[], Int32, Int32)

Source:
MemoryStream.cs
Source:
MemoryStream.cs
Source:
MemoryStream.cs

Lee un bloque de bytes de la secuencia actual y escribe los datos en un búfer.

public:
 override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read (byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer

Parámetros

buffer
Byte[]

Cuando este método devuelve un valor, contiene la matriz de bytes especificada con valores entre offset y (offset + count - 1) reemplazada por los caracteres leídos de la secuencia actual.

offset
Int32

Posición de desplazamiento en bytes de base cero de buffer en el que se comienza a almacenar los datos de la secuencia actual.

count
Int32

Número máximo de bytes que se pueden leer.

Devoluciones

Número total de bytes escritos en el búfer. Puede ser menor que el número de bytes solicitado si ese número de bytes no está disponible, o bien puede ser cero si se alcanza el final de la secuencia antes de que se lea algún byte.

Excepciones

buffer es null.

offset o count es negativo.

offset, restado de la longitud de búfer, es menor que count.

La instancia de la secuencia actual está cerrada.

Ejemplos

Este ejemplo de código es parte de un ejemplo mayor proporcionado para la clase MemoryStream.

// Read the first 20 bytes from the stream.
byteArray = gcnew array<Byte>(memStream->Length);
count = memStream->Read( byteArray, 0, 20 );
// Read the first 20 bytes from the stream.
byteArray = new byte[memStream.Length];
count = memStream.Read(byteArray, 0, 20);
' Read the first 20 bytes from the stream.
byteArray = _
    New Byte(CType(memStream.Length, Integer)){}
count = memStream.Read(byteArray, 0, 20)

Comentarios

Este método invalida Read.

El offset parámetro proporciona el desplazamiento del primer byte en buffer el que se escriben los datos de la secuencia actual. El count parámetro proporciona el número máximo de bytes que se van a leer de la secuencia actual. El valor devuelto es el número real de bytes leídos o cero si se alcanza el final de la secuencia.

Si la operación de lectura se realiza correctamente, la posición actual dentro de la secuencia avanza por el número de bytes leídos. Si se produce una excepción, la posición actual dentro de la secuencia permanece sin cambios.

El Read método devolverá cero solo si se alcanza el final de la secuencia. En todos los demás casos, Read siempre lee al menos un byte de la secuencia antes de devolverlo. Por definición, si no hay datos disponibles desde la secuencia tras una llamada a Read, el Read método devuelve cero (el final de la secuencia se alcanza automáticamente). Una implementación es libre para devolver menos bytes de los solicitados incluso si no se ha alcanzado el final de la secuencia.

Se usa BinaryReader para leer tipos de datos primitivos.

Precaución

Si la matriz de bytes especificada en el buffer parámetro es el búfer subyacente devuelto por el GetBuffer método , el contenido de la matriz se sobrescribe y no se produce ninguna excepción.

Consulte también

Se aplica a