Langage

IAsynchronousByteChannel.Write Méthode

Définition

Surcharges

Nom Description
Write(ByteBuffer)

Écrit une séquence d’octets dans ce canal à partir de la mémoire tampon donnée.

Write(ByteBuffer, Object, ICompletionHandler)

Écrit une séquence d’octets dans ce canal à partir de la mémoire tampon donnée.

Write(ByteBuffer)

Écrit une séquence d’octets dans ce canal à partir de la mémoire tampon donnée.

[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetWrite_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? Write(Java.Nio.ByteBuffer? src);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetWrite_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)>]
abstract member Write : Java.Nio.ByteBuffer -> Java.Util.Concurrent.IFuture

Paramètres

src
ByteBuffer

Mémoire tampon à partir de laquelle les octets doivent être récupérés

Retours

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

Attributs

Remarques

Écrit une séquence d’octets dans ce canal à partir de la mémoire tampon donnée.

Cette méthode lance une opération d’écriture asynchrone pour écrire une séquence d’octets dans ce canal à partir de la mémoire tampon donnée. La méthode se comporte exactement de la même manière que la #write(ByteBuffer,Object,CompletionHandler) write(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 écrits.

Java documentation pour java.nio.channels.AsynchronousByteChannel.write(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 à

Write(ByteBuffer, Object, ICompletionHandler)

Écrit une séquence d’octets dans ce canal à partir de la mémoire tampon donnée.

[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetWrite_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 Write(Java.Nio.ByteBuffer? src, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetWrite_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 Write : Java.Nio.ByteBuffer * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit

Paramètres

src
ByteBuffer

Mémoire tampon à partir de laquelle les octets doivent être récupérés

attachment
Object

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

handler
ICompletionHandler

Objet du gestionnaire d’achèvement

Attributs

Remarques

Écrit une séquence d’octets dans ce canal à partir de la mémoire tampon donnée.

Cette méthode lance une opération d’écriture asynchrone pour écrire une séquence d’octets dans ce canal à partir de la mémoire tampon donnée. Le handler paramètre est un gestionnaire d’achèvement appelé lorsque l’opération d’écriture se termine (ou échoue). Le résultat passé au gestionnaire d’achèvement est le nombre d’octets écrits.

L’opération d’écriture peut écrire jusqu’à r octets dans le canal, où r correspond au nombre d’octets restants dans la mémoire tampon, autrement dit, src.remaining() au moment où l’écriture est tentée. Lorsque r est 0, l’opération d’écriture 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 écrite, où 0  ;<  ; n  ;<=  ; r. Cette séquence d’octets est transférée à partir de la mémoire tampon à partir de l’index p, où p est la position de la mémoire tampon au moment où l’écriture est effectuée ; l’index du dernier octet écrit sera p  ;+  ; n  ;-  ;1. 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 écritures à être en attente à un moment donné. Si un thread lance une opération d’écriture avant la fin d’une opération d’écriture précédente, une WritePendingException opération sera levée.

Java documentation pour java.nio.channels.AsynchronousByteChannel.write(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 à