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í
Read(Span<Byte>) |
Nač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) |
Nač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
Nač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> destination);
public:
override int Read(Span<System::Byte> buffer);
public override int Read (Span<byte> destination);
public override int Read (Span<byte> buffer);
override this.Read : Span<byte> -> int
override this.Read : Span<byte> -> int
Public Overrides Function Read (destination As Span(Of Byte)) As Integer
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer
Parametry
Oblast paměti. Když se tato metoda vrátí, obsah tohoto rozsahu jsou nahrazeny bajty načtenými z aktuálního zdroje datového proudu paměti.
Návraty
Celkový počet bajtů nač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 bylo dosaženo konce datového proudu paměti.
Platí pro
Read(Byte[], Int32, Int32)
- Zdroj:
- MemoryStream.cs
- Zdroj:
- MemoryStream.cs
- Zdroj:
- MemoryStream.cs
Nač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[]
Když tato metoda vrátí hodnotu, obsahuje zadané pole bajtů s hodnotami mezi offset
a (offset
+ count
- 1) nahrazenými znaky načtenými z aktuálního datového proudu.
- offset
- Int32
Posun od nuly bajtů, při buffer
kterém se mají začít ukládat data z aktuálního datového proudu.
- count
- Int32
Maximální počet bajtů ke čtení.
Návraty
Celkový počet bajtů zapsaných do vyrovnávací paměti. To může být menší než požadovaný počet bajtů, 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 jakýchkoli 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 datového proudu je uzavřena.
Příklady
Tento příklad kódu je součástí většího příkladu MemoryStream pro třídu .
// Read the first 20 bytes from the stream.
byteArray = gcnew array<Byte>(memStream->Length);
count = memStream->Read( byteArray, 0, 20 );
// 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í načí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 datovém proudu se posune o počet přečtených bajtů. Pokud dojde k výjimce, aktuální pozice v rámci datového proudu zůstane beze změny.
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 před vrácením přečte z datového proudu alespoň jeden bajt. Podle definice, pokud nejsou z datového proudu k dispozici žádná data při volání , Read
Read
vrátí metoda nulu (konec datového proudu je dosažen automaticky). Implementace může vrátit méně bajtů, než požaduje, i když nebylo dosaženo konce datového proudu.
Slouží BinaryReader ke čtení primitivních datových typů.
Upozornění
Pokud je pole bajtů zadané v parametru buffer
podkladovou vyrovnávací pamětí vrácenou metodou GetBuffer , obsah pole se přepíše a nevyvolá se žádná výjimka.
Viz také
- Vstupně-výstupní operace souborů a Stream
- Postupy: Čtení textu ze souboru
- Postupy: Zápis textu do souboru