MemoryStream.Read Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
| Name | Description |
|---|---|
| Read(Span<Byte>) |
Přečte posloupnost bajtů z aktuálního datového proudu paměti a posune pozici v rámci datového proudu paměti o počet přečtených bajtů. |
| Read(Byte[], Int32, Int32) |
Přečte blok bajtů z aktuálního datového proudu a zapíše data do vyrovnávací paměti. |
Read(Span<Byte>)
- Zdroj:
- MemoryStream.cs
- Zdroj:
- MemoryStream.cs
- Zdroj:
- MemoryStream.cs
- Zdroj:
- MemoryStream.cs
- Zdroj:
- MemoryStream.cs
Přečte posloupnost bajtů z aktuálního datového proudu paměti a posune pozici v rámci datového proudu paměti o počet přečtených bajtů.
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
Oblast paměti. Když tato metoda vrátí, obsah tohoto rozsahu se nahradí bajty načtenými z aktuálního zdroje datového proudu paměti.
Návraty
Celkový počet bajtů přečtených do vyrovnávací paměti. To může být menší než počet bajtů přidělených ve vyrovnávací paměti, pokud tento počet bajtů není aktuálně k dispozici, nebo nula (0), pokud byl dosažen konec paměťového proudu.
Platí pro
Read(Byte[], Int32, Int32)
- Zdroj:
- MemoryStream.cs
- Zdroj:
- MemoryStream.cs
- Zdroj:
- MemoryStream.cs
- Zdroj:
- MemoryStream.cs
- Zdroj:
- MemoryStream.cs
Přečte blok bajtů z aktuálního datového proudu a zapíše data do vyrovnávací paměti.
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[]
Pokud tato metoda vrátí, obsahuje zadané bajtové pole s hodnotami mezi offset a (offset + count - 1) nahrazené znaky přečtenými z aktuálního datového proudu.
- offset
- Int32
Posun bajtů založený na nule, ve buffer kterém se mají začít ukládat data z aktuálního datového proudu.
- count
- Int32
Maximální počet bajtů, které se mají přečíst.
Návraty
Celkový počet bajtů zapsaných do vyrovnávací paměti. To může být menší než počet bajtů požadovaný, pokud tento počet bajtů není aktuálně k dispozici, nebo nula, pokud je dosaženo konce datového proudu před načtením libovolných bajtů.
Výjimky
buffer je null.
offset nebo count je negativní.
offset odečtení od délky vyrovnávací paměti je menší než count.
Aktuální instance streamu je uzavřena.
Příklady
Tento příklad kódu je součástí většího příkladu uvedeného pro třídu 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)
Poznámky
Tato metoda přepíše Read.
Parametr offset poskytuje posun prvního bajtu, do buffer kterého se zapisují data z aktuálního datového proudu. Parametr count poskytuje maximální počet bajtů, které se mají číst z aktuálního datového proudu. Vrácená hodnota je skutečný počet přečtených bajtů nebo nula, pokud je dosaženo konce datového proudu.
Pokud je operace čtení úspěšná, aktuální pozice v rámci datového proudu se posune o počet přečtených bajtů. Pokud dojde k výjimce, zůstane aktuální pozice v rámci datového proudu nezměněná.
Metoda Read vrátí nulu pouze v případě, že je dosaženo konce datového proudu. Ve všech ostatních případech Read vždy čte alespoň jeden bajt z datového proudu před vrácením. Podle definice, pokud nejsou k dispozici žádná data z datového proudu při volání Read, Read metoda vrátí nulu (konec datového proudu je dosaženo automaticky). Implementace je zdarma vrátit méně bajtů, než je požadováno, i když nebyl dosažen konec datového proudu.
Slouží BinaryReader ke čtení primitivních datových typů.
Caution
Pokud pole bajtů zadané v buffer parametru je základní vyrovnávací paměť vrácená metodou GetBuffer , obsah pole se přepíše a není vyvolán žádná výjimka.