Langue

IAsynchronousByteChannel.Read Méthode

Définition

Surcharges

Nom Description
Read(ByteBuffer)

Lit une séquence d’octets de ce canal dans la mémoire tampon donnée.

Read(ByteBuffer, Object, ICompletionHandler)

Lit une séquence d’octets de ce canal dans la mémoire tampon donnée.

Read(ByteBuffer)

Lit une séquence d’octets de ce canal dans la mémoire tampon donnée.

[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetRead_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)]
public Java.Util.Concurrent.IFuture? Read(Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetRead_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)>]
abstract member Read : Java.Nio.ByteBuffer -> Java.Util.Concurrent.IFuture

Paramètres

dst
ByteBuffer

Mémoire tampon dans laquelle les octets doivent être transférés

Retours

Un avenir représentant le résultat de l’opération

Attributs

Remarques

Lit une séquence d’octets de ce canal dans la mémoire tampon donnée.

Cette méthode lance une opération de lecture asynchrone pour lire une séquence d’octets de ce canal dans la mémoire tampon donnée. La méthode se comporte exactement de la même manière que la #read(ByteBuffer,Object,CompletionHandler) read(ByteBuffer,Object,CompletionHandler) méthode, sauf qu’au lieu de spécifier un gestionnaire d’achèvement, cette méthode retourne un Future résultat représentant le résultat en attente. La Futureméthode 's Future#get() get retourne le nombre d’octets lus ou -1 si aucun octet ne peut être lu, car le canal a atteint la fin du flux.

Documentation Java pour java.nio.channels.AsynchronousByteChannel.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, Object, ICompletionHandler)

Lit une séquence d’octets de ce canal dans la mémoire tampon donnée.

[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_Ljava_nio_ByteBuffer_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public void Read(Java.Nio.ByteBuffer? dst, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_Ljava_nio_ByteBuffer_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Read : Java.Nio.ByteBuffer * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit

Paramètres

dst
ByteBuffer

Mémoire tampon dans laquelle les octets doivent être transférés

attachment
Object

Objet à attacher à l’opération d’E/S ; peut être null

handler
ICompletionHandler

Gestionnaire d’achèvement

Attributs

Remarques

Lit une séquence d’octets de ce canal dans la mémoire tampon donnée.

Cette méthode lance une opération de lecture asynchrone pour lire une séquence d’octets de ce canal dans la mémoire tampon donnée. Le handler paramètre est un gestionnaire d’achèvement appelé lorsque l’opération de lecture se termine (ou échoue). Le résultat passé au gestionnaire d’achèvement est le nombre d’octets lus ou -1 si aucun octet n’a pu être lu, car le canal a atteint la fin du flux.

L’opération de lecture peut lire jusqu’à r octets à partir du canal, où r correspond au nombre d’octets restants dans la mémoire tampon, autrement dit, dst.remaining() au moment où la lecture est tentée. Où r est 0, l’opération de lecture se termine immédiatement avec le résultat de 0 sans lancer d’opération d’E/S.

Supposons qu’une séquence d’octets de longueur n soit lue, où 0  ;<  ; n  ;<=  ; r. Cette séquence d’octets est transférée dans la mémoire tampon afin que le premier octet de la séquence soit à l’index p et que le dernier octet soit à l’index p  ;+  ; n  ;-  ;1, où p est la position de la mémoire tampon au moment où la lecture est effectuée. Une fois la position de la mémoire tampon terminée, la position de la mémoire tampon est égale à p  ;+  ; n ; sa limite n’aura pas changé.

Les mémoires tampons ne sont pas sécurisées pour être utilisées par plusieurs threads simultanés. Vous devez donc veiller à ne pas accéder à la mémoire tampon tant que l’opération n’est pas terminée.

Cette méthode peut être appelée à tout moment. Certains types de canaux peuvent ne pas autoriser plusieurs lectures à être en attente à un moment donné. Si un thread lance une opération de lecture avant l’achèvement d’une opération de lecture précédente, une ReadPendingException opération sera levée.

Documentation Java pour java.nio.channels.AsynchronousByteChannel.read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>).

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 à