MemoryStream.Read Metoda

Definice

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

destinationbuffer
Span<Byte>

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.

Viz také

Platí pro