MemoryStream.Read Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Read(Span<Byte>) |
Odczytuje sekwencję bajtów z bieżącego strumienia pamięci i rozwija pozycję w strumieniu pamięci przez liczbę odczytanych bajtów. |
| Read(Byte[], Int32, Int32) |
Odczytuje blok bajtów z bieżącego strumienia i zapisuje dane w buforze. |
Read(Span<Byte>)
- Źródło:
- MemoryStream.cs
- Źródło:
- MemoryStream.cs
- Źródło:
- MemoryStream.cs
- Źródło:
- MemoryStream.cs
- Źródło:
- MemoryStream.cs
Odczytuje sekwencję bajtów z bieżącego strumienia pamięci i rozwija pozycję w strumieniu pamięci przez liczbę odczytanych bajtów.
public:
override int Read(Span<System::Byte> buffer);
public:
override int Read(Span<System::Byte> destination);
public override int Read(Span<byte> buffer);
public override int Read(Span<byte> destination);
override this.Read : Span<byte> -> int
override this.Read : Span<byte> -> int
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer
Public Overrides Function Read (destination As Span(Of Byte)) As Integer
Parametry
Region pamięci. Gdy ta metoda zwraca, zawartość tego zakresu jest zastępowana przez bajty odczytane ze źródła bieżącego strumienia pamięci.
Zwraca
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 osiągnięto koniec strumienia pamięci.
Dotyczy
Read(Byte[], Int32, Int32)
- Źródło:
- MemoryStream.cs
- Źródło:
- MemoryStream.cs
- Źródło:
- MemoryStream.cs
- Źródło:
- MemoryStream.cs
- Źródło:
- MemoryStream.cs
Odczytuje blok bajtów z bieżącego strumienia i zapisuje dane w buforze.
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[]
Gdy ta metoda zwraca, zawiera określoną tablicę bajtów z wartościami między offset i (offset + count - 1) zastąpionymi znakami odczytanymi z bieżącego strumienia.
- offset
- Int32
Przesunięcie bajtów na podstawie zera, w buffer którym ma rozpocząć przechowywanie danych z bieżącego strumienia.
- count
- Int32
Maksymalna liczba bajtów do odczytania.
Zwraca
Całkowita liczba bajtów zapisanych w buforze. Może to być mniejsze niż liczba bajtów żądanych, jeśli liczba bajtów nie jest obecnie dostępna, lub zero, jeśli koniec strumienia zostanie osiągnięty przed odczytaniem jakichkolwiek bajtów.
Wyjątki
Parametr buffer ma wartość null.
offset lub count jest ujemny.
offset odjęcie od długości buforu jest mniejsze niż count.
Bieżące wystąpienie strumienia jest zamknięte.
Przykłady
Ten przykład kodu jest częścią większego przykładu udostępnionego dla klasy MemoryStream.
// 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)
Uwagi
Ta metoda zastępuje metodę Read.
Parametr offset daje przesunięcie pierwszego bajtu, w buffer którym są zapisywane dane z bieżącego strumienia. Parametr count daje maksymalną liczbę bajtów do odczytu z bieżącego strumienia. Zwracana wartość to rzeczywista liczba odczytanych bajtów lub zero, jeśli osiągnięto koniec strumienia.
Jeśli operacja odczytu zakończy się pomyślnie, bieżące położenie w strumieniu jest zwiększane o liczbę odczytanych bajtów. Jeśli wystąpi wyjątek, bieżące położenie w strumieniu pozostanie niezmienione.
Read Metoda zwróci zero tylko wtedy, gdy osiągnięto koniec strumienia. We wszystkich innych przypadkach Read zawsze odczytuje co najmniej jeden bajt ze strumienia przed zwróceniem. Z definicji, jeśli żadne dane nie są dostępne ze strumienia po wywołaniu metody Read, Read metoda zwraca zero (koniec strumienia jest osiągany automatycznie). Implementacja jest bezpłatna, aby zwracać 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.
Caution
Jeśli tablica bajtów określona w parametrze buffer jest buforem bazowym zwracanym przez GetBuffer metodę, zawartość tablicy jest zastępowana i nie jest zgłaszany żaden wyjątek.
Zobacz też
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku