Udostępnij za pośrednictwem


BrotliStream.Read Metoda

Definicja

Przeciążenia

Read(Span<Byte>)

Odczytuje sekwencję bajtów z bieżącego strumienia Brotli do zakresu bajtów i rozwija pozycję w strumieniu Brotli przez liczbę odczytanych bajtów.

Read(Byte[], Int32, Int32)

Odczytuje liczbę dekompresowanych bajtów do określonej tablicy bajtów.

Read(Span<Byte>)

Źródło:
BrotliStream.Decompress.cs
Źródło:
BrotliStream.Decompress.cs
Źródło:
BrotliStream.Decompress.cs

Odczytuje sekwencję bajtów z bieżącego strumienia Brotli do zakresu bajtów i rozwija pozycję w strumieniu Brotli przez liczbę odczytanych bajtów.

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

Parametry

buffer
Span<Byte>

Region pamięci. Gdy ta metoda zwróci wartość , zawartość tego regionu jest zastępowana przez bajty odczytane z bieżącego źródła.

Zwraca

Całkowita liczba bajtów odczytanych do buforu. Może to być mniejsza niż liczba bajtów przydzielonych w buforze, jeśli liczba bajtów nie jest obecnie dostępna lub zero (0), jeśli koniec strumienia został osiągnięty.

Uwagi

Użyj właściwości , CanRead aby określić, czy bieżące wystąpienie obsługuje odczyt. System.IO.Compression.BrotliStream.ReadAsync Użyj metody , aby odczytywać asynchronicznie z bieżącego strumienia.

Ta metoda odczytuje maksymalnie wartość "buffer". Bajty długości z bieżącego strumienia i przechowują je w .buffer Bieżąca pozycja w strumieniu Brotli jest zaawansowana przez liczbę odczytanych bajtów; jednak w przypadku wystąpienia wyjątku bieżące położenie w strumieniu Brotli pozostaje niezmienione. Ta metoda zostanie zablokowana do momentu odczytania co najmniej jednego bajtu danych w przypadku, gdy żadne dane nie są dostępne. Funkcja "Odczyt" zwraca wartość 0 tylko wtedy, gdy nie ma więcej danych w strumieniu i nie ma więcej danych (takich jak zamknięte gniazdo lub koniec pliku). Metoda jest bezpłatna, aby zwrócić mniej bajtów niż zażądano, nawet jeśli koniec strumienia nie został osiągnięty.

Służy BinaryReader do odczytywania typów danych pierwotnych.

Dotyczy

Read(Byte[], Int32, Int32)

Źródło:
BrotliStream.Decompress.cs
Źródło:
BrotliStream.Decompress.cs
Źródło:
BrotliStream.Decompress.cs

Odczytuje liczbę dekompresowanych bajtów do określonej tablicy bajtów.

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

Parametry

buffer
Byte[]

Tablica używana do przechowywania dekompresowanych bajtów.

offset
Int32

Przesunięcie bajtu, w buffer którym zostaną umieszczone bajty odczytu.

count
Int32

Maksymalna liczba dekompresowanych bajtów do odczytania.

Zwraca

Liczba bajtów, które zostały zdekompresowane do tablicy bajtów. Jeśli osiągnięto koniec strumienia, zwracana jest wartość zero lub liczba odczytanych bajtów.

Wyjątki

buffer to null.

Wartość CompressionMode była Compress wtedy, gdy obiekt został utworzony lub istnieje już aktywna operacja asynchroniczna w tym strumieniu.

offset wartość lub count jest mniejsza niż zero.

Długość pomniejszona o buffer punkt początkowy indeksu jest mniejsza niż count.

Dane są w nieprawidłowym formacie.

Podstawowy strumień ma wartość null lub jest zamknięty.

Dotyczy