MemoryStream.Read Methode

Definition

Überlädt

Read(Span<Byte>)
Read(Byte[], Int32, Int32)

Liest einen Byteblock aus dem aktuellen Stream und schreibt die Daten in einen Puffer.Reads a block of bytes from the current stream and writes the data to a buffer.

Read(Span<Byte>)

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

Parameter

destination
Span<Byte>

Gibt zurück

Read(Byte[], Int32, Int32)

Liest einen Byteblock aus dem aktuellen Stream und schreibt die Daten in einen Puffer.Reads a block of bytes from the current stream and writes the data to a 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

Parameter

buffer
Byte[]

Enthält nach dem Beenden dieser Methode das angegebene Bytearray mit den Werten zwischen offset und (offset + count - 1), die durch aus dem aktuellen Stream gelesene Zeichen ersetzt wurden.When this method returns, contains the specified byte array with the values between offset and (offset + count - 1) replaced by the characters read from the current stream.

offset
Int32

Der nullbasierte Byteoffset im buffer, ab dem die Daten aus dem aktuellen Stream gespeichert werden.The zero-based byte offset in buffer at which to begin storing data from the current stream.

count
Int32

Die maximale Anzahl der zu lesenden Bytes.The maximum number of bytes to read.

Gibt zurück

Die Gesamtanzahl der in den Puffer geschriebenen Bytes.The total number of bytes written into the buffer. Dies kann weniger als die Anzahl der angeforderten Bytes sein, wenn diese Anzahl an Bytes derzeit nicht verfügbar ist, oder null, wenn das Ende des Streams erreicht ist, bevor mindestens ein Byte gelesen wurde.This can be less than the number of bytes requested if that number of bytes are not currently available, or zero if the end of the stream is reached before any bytes are read.

Ausnahmen

buffer ist null.buffer is null.

offset oder count ist ein negativer Wert.offset or count is negative.

offset subtrahiert von der Pufferlänge ist kleiner als count.offset subtracted from the buffer length is less than count.

Der aktuelle Instanz des Streams ist geschlossen.The current stream instance is closed.

Beispiele

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die MemoryStream -Klasse bereitgestellt wird.This code example is part of a larger example provided for the MemoryStream class.

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

Hinweise

Diese Methode überschreibt Read.This method overrides Read.

Der offset -Parameter gibt den Offset des ersten Bytes in buffer an, in den Daten aus dem aktuellen Stream geschrieben werden.The offset parameter gives the offset of the first byte in buffer to which data from the current stream is written. Der count -Parameter gibt die maximale Anzahl von Bytes an, die aus dem aktuellen Stream gelesen werden sollen.The count parameter gives the maximum number of bytes to read from the current stream. Der zurückgegebene Wert ist die tatsächliche Anzahl von gelesenen Bytes, oder 0 (null), wenn das Ende des Streams erreicht ist.The returned value is the actual number of bytes read, or zero if the end of the stream is reached.

Wenn der Lesevorgang erfolgreich ist, wird die aktuelle Position im Stream um die Anzahl der gelesenen Bytes fortgesetzt.If the read operation is successful, the current position within the stream advances by the number of bytes read. Wenn eine Ausnahme auftritt, bleibt die aktuelle Position im Stream unverändert.If an exception occurs, the current position within the stream remains unchanged.

Die Read -Methode gibt nur dann NULL zurück, wenn das Ende des Streams erreicht ist.The Read method will return zero only if the end of the stream is reached. In allen anderen Fällen Read liest vor der Rückgabe immer mindestens ein Byte aus dem Datenstrom.In all other cases, Read always reads at least one byte from the stream before returning. Definitionsgemäß gibt die Read Read Methode NULL zurück (das Ende des Streams wird automatisch erreicht), wenn beim Abrufen von keine Daten aus dem Stream verfügbar sind.By definition, if no data is available from the stream upon a call to Read, the Read method returns zero (the end of the stream is reached automatically). Eine-Implementierung kann weniger Bytes zurückgeben als angefordert werden, auch wenn das Ende des Streams nicht erreicht wurde.An implementation is free to return fewer bytes than requested even if the end of the stream has not been reached.

Verwenden BinaryReader Sie zum Lesen primitiver Datentypen.Use BinaryReader for reading primitive data types.

Achtung

Wenn das im buffer -Parameter angegebene Bytearray der zugrunde liegende Puffer ist, GetBuffer der von der-Methode zurückgegeben wird, wird der Array Inhalt überschrieben, und es wird keine Ausnahme ausgelöst.If the byte array specified in the buffer parameter is the underlying buffer returned by the GetBuffer method, the array contents are overwritten, and no exception is thrown.

Siehe auch

Gilt für: