IScatteringByteChannel.Read Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| Read(ByteBuffer[]) |
Lit une séquence d’octets de ce canal dans les mémoires tampons données. |
| Read(ByteBuffer[], Int32, Int32) |
Lit une séquence d’octets de ce canal dans une sous-séquence des mémoires tampons données. |
Read(ByteBuffer[])
Lit une séquence d’octets de ce canal dans les mémoires tampons données.
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "GetRead_arrayLjava_nio_ByteBuffer_Handler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public long Read(Java.Nio.ByteBuffer[]? dsts);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "GetRead_arrayLjava_nio_ByteBuffer_Handler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Read : Java.Nio.ByteBuffer[] -> int64
Paramètres
- dsts
- ByteBuffer[]
Mémoires tampons dans lesquelles les octets doivent être transférés
Retours
Nombre d’octets lus, éventuellement zéro, ou -1 si le canal a atteint la fin du flux
- Attributs
Exceptions
si le canal est fermé par un autre thread pendant cette opération de lecture.
si un autre thread interrompt le thread appelant pendant que l’opération est en cours. L’état d’interruption du thread appelant est défini et le canal est fermé.
si le canal est fermé.
si une autre erreur d’E/S se produit ; les détails sont dans le message.
si le canal n’a pas été ouvert en mode qui autorise la lecture.
Remarques
Lit une séquence d’octets de ce canal dans les mémoires tampons données.
Un appel de cette méthode du formulaire c.read(dsts) se comporte exactement de la même façon que l’appel
<blockquote>
c.read(dsts, 0, dsts.length);
</blockquote>
Documentation Java pour java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[]).
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
S’applique à
Read(ByteBuffer[], Int32, Int32)
Lit une séquence d’octets de ce canal dans une sous-séquence des mémoires tampons données.
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public long Read(Java.Nio.ByteBuffer[]? dsts, int offset, int length);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Read : Java.Nio.ByteBuffer[] * int * int -> int64
Paramètres
- dsts
- ByteBuffer[]
Mémoires tampons dans lesquelles les octets doivent être transférés
- offset
- Int32
Décalage dans le tableau de mémoires tampons du premier tampon dans lequel les octets doivent être transférés ; doit être non négatif et pas plus grand que dsts.length
- length
- Int32
Nombre maximal de mémoires tampons à accéder ; doit être non négatif et pas plus grand que dsts.length ;- ;offset
Retours
Nombre d’octets lus, éventuellement zéro, ou -1 si le canal a atteint la fin du flux
- Attributs
Exceptions
si le canal est fermé par un autre thread pendant cette opération de lecture.
si un autre thread interrompt le thread appelant pendant que l’opération est en cours. L’état d’interruption du thread appelant est défini et le canal est fermé.
si le canal est fermé.
si offset ou length , ou si offset + length est supérieur à la taille de buffers.
si une autre erreur d’E/S se produit ; les détails sont dans le message.
si le canal n’a pas été ouvert en mode qui autorise la lecture.
Remarques
Lit une séquence d’octets de ce canal dans une sous-séquence des mémoires tampons données.
Un appel de cette méthode tente de lire jusqu’à r octets à partir de ce canal, où r correspond au nombre total d’octets restant la sous-séquence spécifiée du tableau de mémoires tampons donné, autrement dit,
<blockquote>
dsts[offset].remaining()
+ dsts[offset+1].remaining()
+ ... + dsts[offset+length-1].remaining()
</blockquote>
au moment où cette méthode est appelée.
Supposons qu’une séquence d’octets de longueur n soit lue, où 0 ;<= ; n ;<= ; r. Jusqu’aux premiers dsts[offset].remaining() octets de cette séquence sont transférés en mémoire tampon dsts[offset], jusqu’aux octets suivants dsts[offset+1].remaining() sont transférés dans la mémoire tampon dsts[offset+1], et ainsi de suite, jusqu’à ce que la séquence d’octets entière soit transférée dans les mémoires tampons données. Autant d’octets que possible sont transférés dans chaque mémoire tampon, donc la position finale de chaque mémoire tampon mise à jour, à l’exception de la dernière mémoire tampon mise à jour, est garantie d’être égale à la limite de cette mémoire tampon.
Cette méthode peut être appelée à tout moment. Si un autre thread a déjà lancé une opération de lecture sur ce canal, toutefois, un appel de cette méthode se bloque jusqu’à ce que la première opération soit terminée.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.