MemoryStream.Read Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| Read(Span<Byte>) |
Lê uma sequência de bytes do fluxo de memória atual e avança a posição dentro do fluxo de memória pelo número de bytes lidos. |
| Read(Byte[], Int32, Int32) |
Lê um bloco de bytes do fluxo atual e grava os dados em um buffer. |
Read(Span<Byte>)
Lê uma sequência de bytes do fluxo de memória atual e avança a posição dentro do fluxo de memória pelo número de bytes lidos.
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
Uma região de memória. Quando esse método retorna, o conteúdo desse intervalo é substituído pelos bytes lidos da fonte do fluxo de memória atual.
Retornos
O número total de bytes lidos no buffer. Isso pode ser menor do que o número de bytes alocados no buffer se muitos bytes não estiverem disponíveis no momento ou zero (0) se o final do fluxo de memória tiver sido atingido.
Aplica-se a
Read(Byte[], Int32, Int32)
Lê um bloco de bytes do fluxo atual e grava os dados em um buffer.
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[]
Quando esse método é retornado, contém a matriz de bytes especificada com os valores entre offset e (offset + count - 1) substituídos pelos caracteres lidos do fluxo atual.
- offset
- Int32
O deslocamento de bytes baseado em zero no buffer qual começar a armazenar dados do fluxo atual.
- count
- Int32
O número máximo de bytes a serem lidos.
Retornos
O número total de bytes gravados no buffer. Isso pode ser menor do que o número de bytes solicitados se esse número de bytes não estiver disponível no momento ou zero se o final do fluxo for atingido antes de qualquer bytes ser lido.
Exceções
buffer é null.
offset ou count é negativo.
offset subtraído do comprimento do buffer é menor que count.
A instância de fluxo atual está fechada.
Exemplos
Este exemplo de código faz parte de um exemplo maior fornecido para a MemoryStream classe.
// 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)
Comentários
Este método substitui Read.
O offset parâmetro fornece o deslocamento do primeiro byte no buffer qual os dados do fluxo atual são gravados. O count parâmetro fornece o número máximo de bytes a serem lidos do fluxo atual. O valor retornado é o número real de bytes lidos ou zero se o final do fluxo for atingido.
Se a operação de leitura for bem-sucedida, a posição atual no fluxo avançará pelo número de bytes lidos. Se ocorrer uma exceção, a posição atual dentro do fluxo permanecerá inalterada.
O Read método retornará zero somente se o final do fluxo for atingido. Em todos os outros casos, Read sempre lê pelo menos um byte do fluxo antes de retornar. Por definição, se nenhum dado estiver disponível no fluxo após uma chamada, Reado Read método retornará zero (o final do fluxo será atingido automaticamente). Uma implementação é livre para retornar menos bytes do que o solicitado, mesmo que o final do fluxo não tenha sido atingido.
Use BinaryReader para ler tipos de dados primitivos.
Caution
Se a matriz de bytes especificada no buffer parâmetro for o buffer subjacente retornado pelo GetBuffer método, o conteúdo da matriz será substituído e nenhuma exceção será gerada.