MemoryStream.Read Méthode

Définition

Surcharges

Read(Span<Byte>)

Lit une séquence d'octets dans le flux mémoire actuel et avance la position dans le flux mémoire du nombre d'octets lus.

Read(Byte[], Int32, Int32)

Lit un bloc d'octets à partir du flux actuel et écrit les données dans une mémoire tampon.

Read(Span<Byte>)

Lit une séquence d'octets dans le flux mémoire actuel et avance la position dans le flux mémoire du nombre d'octets lus.

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

Paramètres

destinationbuffer
Span<Byte>

Région de la mémoire. Quand cette méthode retourne, le contenu de cette étendue est remplacé par les octets lus dans le flux mémoire actuel.

Retours

Int32

Nombre total d'octets lus dans la mémoire tampon. Le nombre d’octets peut être inférieur au nombre d’octets alloués dans la mémoire tampon si ce nombre d’octets n’est pas actuellement disponible, ou égal à zéro (0) si la fin du flux mémoire a été atteinte.

S’applique à

Read(Byte[], Int32, Int32)

Lit un bloc d'octets à partir du flux actuel et écrit les données dans une mémoire tampon.

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

Paramètres

buffer
Byte[]

Quand cette méthode est retournée, contient le tableau d’octets spécifié dont les valeurs comprises entre offset et (offset + count - 1) sont remplacées par les caractères lus dans le flux actuel.

offset
Int32

Dans buffer, décalage d'octet de base zéro auquel commencer le stockage des données à partir du flux actuel.

count
Int32

Nombre maximal d'octets à lire.

Retours

Int32

Nombre total d'octets écrits dans la mémoire tampon. Ce total peut être inférieur au nombre d'octets demandés si ce nombre d'octets n'est pas actuellement disponible, ou égal à zéro si la fin du flux a été atteinte avant que des octets soient lus.

Exceptions

buffer a la valeur null.

offset ou count est un nombre négatif.

offset soustrait de la longueur de la mémoire tampon est inférieur à count.

L’instance du flux actuel est fermée.

Exemples

Cet exemple de code fait partie d’un exemple plus complet fourni pour la MemoryStream classe.

// 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)

Remarques

Cette méthode se substitue à Read.

Le offset paramètre indique le décalage du premier octet dans buffer lequel les données du flux actuel sont écrites. Le count paramètre indique le nombre maximal d’octets à lire à partir du flux actuel. La valeur retournée est le nombre réel d’octets lus, ou zéro si la fin du flux est atteinte.

Si l’opération de lecture réussit, la position actuelle dans le flux avance du nombre d’octets lus. Si une exception se produit, la position actuelle dans le flux reste inchangée.

La Read méthode retourne zéro uniquement si la fin du flux est atteinte. Dans tous les autres cas, Read lit toujours au moins un octet à partir du flux avant de retourner. Par définition, si aucune donnée n’est disponible dans le flux de données lors d’un appel à Read , la Read méthode retourne zéro (la fin du flux est atteinte automatiquement). Une implémentation est libre de retourner moins d’octets que la demande, même si la fin du flux n’a pas été atteinte.

Utilisez BinaryReader pour lire les types de données primitifs.

Attention

Si le tableau d’octets spécifié dans le buffer paramètre est la mémoire tampon sous-jacente retournée par la GetBuffer méthode, le contenu du tableau est remplacé et aucune exception n’est levée.

Voir aussi

S’applique à