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 według liczby odczytanych bajtów.

Read(Byte[], Int32, Int32)

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

Read(Span<Byte>)

Odczytuje sekwencję bajtów z bieżącego strumienia Brotli do zakresu bajtów i rozwija pozycję w strumieniu Brotli według liczby 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, zawartość tego regionu jest zastępowana bajtami odczytanych z bieżącego źródła.

Zwraca

Int32

Całkowita liczba bajtów odczytanych do buforu. Może to być mniej 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 odczytywanie. System.IO.Compression.BrotliStream.ReadAsync Użyj metody , aby odczytywać asynchronicznie z bieżącego strumienia.

Ta metoda odczytuje maksymalnie bajty `buffer.Length` z bieżącego strumienia i przechowuje je w bufferpliku . Bieżąca pozycja w strumieniu Brotli jest zaawansowana przez liczbę odczytanych bajtów; jeśli jednak wystąpi wyjątek, bieżąca pozycja w strumieniu Brotli pozostaje niezmieniona. Ta metoda zablokuje do odczytu co najmniej jednego bajtu danych w przypadku, gdy żadne dane nie są dostępne. `Read` 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ż żą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)

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 bajtów, w buffer którym zostaną umieszczone odczytane bajty.

count
Int32

Maksymalna liczba dekompresowanych bajtów do odczytu.

Zwraca

Int32

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 wykonywana podczas tworzenia obiektu lub istnieje już aktywna operacja asynchroniczna w tym strumieniu.

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

buffer Długość minus punktu początkowego indeksu jest mniejsza niż count.

Dane są w nieprawidłowym formacie.

Strumień bazowy ma wartość null lub jest zamknięty.

Dotyczy