BrotliStream.Read Methode

Definition

Überlädt

Read(Span<Byte>)

Liest eine Bytesequenz aus dem aktuellen Brotli-Datenstrom in eine Bytespanne und erhöht die Position innerhalb des Brotli-Datenstroms um die Anzahl der gelesen Bytes.

Read(Byte[], Int32, Int32)

Liest eine Anzahl von dekomprimierten Bytes in das angegebene Bytearray.

Read(Span<Byte>)

Liest eine Bytesequenz aus dem aktuellen Brotli-Datenstrom in eine Bytespanne und erhöht die Position innerhalb des Brotli-Datenstroms um die Anzahl der gelesen Bytes.

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

Parameter

buffer
Span<Byte>

Ein Bereich im Arbeitsspeicher. Bei der Rückgabe dieser Methode werden die Inhalte dieses Bereichs durch die aus der aktuellen Quelle gelesenen Bytes ersetzt.

Gibt zurück

Int32

Die Gesamtanzahl der in den Puffer gelesenen Bytes. Dies kann weniger als die Anzahl der im Puffer zugeordneten Bytes sein, wenn diese Anzahl an Bytes derzeit nicht verfügbar ist, oder 0 (null), wenn das Ende des Streams erreicht ist.

Hinweise

Verwenden Sie die CanRead Eigenschaft, um zu ermitteln, ob die aktuelle Instanz das Lesen unterstützt. Verwenden Sie die System.IO.Compression.BrotliStream.ReadAsync Methode, um asynchron aus dem aktuellen Datenstrom zu lesen.

Diese Methode liest maximal `buffer.Length` Bytes aus dem aktuellen Datenstrom und speichert sie in buffer. Die aktuelle Position innerhalb des Brotli-Datenstroms wird durch die Anzahl der Bytes erweitert, die gelesen werden; Wenn jedoch eine Ausnahme auftritt, bleibt die aktuelle Position im Brotli-Stream unverändert. Diese Methode blockiert, bis mindestens ein Byte von Daten gelesen werden kann, wenn keine Daten verfügbar sind. `Read` gibt nur 0 zurück, wenn im Datenstrom keine weiteren Daten vorhanden sind und keine weiteren Daten erwartet werden (z. B. ein geschlossener Socket oder ein Ende der Datei). Die Methode kann weniger Bytes zurückgeben als angefordert, auch wenn das Ende des Datenstroms nicht erreicht wurde.

Wird zum Lesen primitiver Datentypen verwendet BinaryReader .

Gilt für:

Read(Byte[], Int32, Int32)

Liest eine Anzahl von dekomprimierten Bytes in das angegebene Bytearray.

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[]

Das Array, das zum Speichern von dekomprimierten Bytes verwendet wird.

offset
Int32

Das Byteoffset in buffer, an dem die gelesenen Bytes platziert werden.

count
Int32

Die maximale Anzahl der zu lesenden dekomprimierten Bytes.

Gibt zurück

Int32

Die Anzahl der Bytes, die im Bytearray dekomprimiert wurden. Wenn das Ende des Streams erreicht worden ist, wird 0 oder die Anzahl der gelesenen Bytes zurückgegeben.

Ausnahmen

buffer ist null.

Die CompressionMode-Wert lautete Compress, als das Objekt erstellt wurde, oder es gibt bereits einen aktiven asynchronen Vorgang für diesen Stream.

offset oder count ist kleiner als 0.

Die Länge von buffer abzüglich des Indexausgangspunkts ist kleiner als count.

Die Daten haben ein ungültiges Format.

Der zugrunde liegende Stream ist NULL oder geschlossen.

Gilt für: