BrotliStream.Read Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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
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
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
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.