MemoryStream.Read Método

Definición

Sobrecargas

Nombre Description
Read(Span<Byte>)

Lee una secuencia de bytes de la secuencia de memoria actual y avanza la posición dentro de la secuencia de memoria por 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>)

Lee una secuencia de bytes de la secuencia de memoria actual y avanza la posición dentro de la secuencia de memoria por el número de bytes leídos.

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

Parámetros

destinationbuffer
Span<Byte>

Una región de memoria. Cuando este método devuelve, el contenido de este intervalo se reemplaza por los bytes leídos del origen de flujo de memoria actual.

Devoluciones

Número total de bytes leídos en el búfer. Puede ser menor que el número de bytes asignados en el búfer si no hay muchos bytes disponibles actualmente o cero (0) si se ha alcanzado el final de la secuencia de memoria.

Se aplica a

Read(Byte[], Int32, Int32)

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, contiene la matriz de bytes especificada con los valores entre offset y (offset + count - 1) reemplazados por los caracteres leídos de la secuencia actual.

offset
Int32

Desplazamiento de bytes de base cero en el buffer que se van a empezar a almacenar datos de la secuencia actual.

count
Int32

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

Devoluciones

Número total de bytes escritos en el búfer. Esto puede ser menor que el número de bytes solicitado si ese número de bytes no está disponible actualmente, o cero si se alcanza el final de la secuencia antes de leer cualquier bytes.

Excepciones

buffer es null.

offset o count es negativo.

offset restada de la longitud del búfer es menor que count.

La instancia de flujo actual está cerrada.

Ejemplos

Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la MemoryStream clase .

// 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