IAsynchronousByteChannel.Write Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Write(ByteBuffer) |
Scrive una sequenza di byte in questo canale dal buffer specificato. |
| Write(ByteBuffer, Object, ICompletionHandler) |
Scrive una sequenza di byte in questo canale dal buffer specificato. |
Write(ByteBuffer)
Scrive una sequenza di byte in questo canale dal buffer specificato.
[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
Parametri
- src
- ByteBuffer
Buffer da cui recuperare i byte
Valori restituiti
Oggetto Future che rappresenta il risultato dell'operazione
- Attributi
Commenti
Scrive una sequenza di byte in questo canale dal buffer specificato.
Questo metodo avvia un'operazione di scrittura asincrona per scrivere una sequenza di byte in questo canale dal buffer specificato. Il metodo si comporta esattamente allo stesso modo del metodo, ad eccezione del #write(ByteBuffer,Object,CompletionHandler) write(ByteBuffer,Object,CompletionHandler) fatto che invece di specificare un gestore di completamento, questo metodo restituisce un Future oggetto che rappresenta il risultato in sospeso. Il Futuremetodo 's Future#get() get restituisce il numero di byte scritti.
per java.nio.channels.AsynchronousByteChannel.write(java.nio.ByteBuffer).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Write(ByteBuffer, Object, ICompletionHandler)
Scrive una sequenza di byte in questo canale dal buffer specificato.
[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
Parametri
- src
- ByteBuffer
Buffer da cui recuperare i byte
- attachment
- Object
Oggetto da associare all'operazione di I/O; può essere null
- handler
- ICompletionHandler
Oggetto gestore di completamento
- Attributi
Commenti
Scrive una sequenza di byte in questo canale dal buffer specificato.
Questo metodo avvia un'operazione di scrittura asincrona per scrivere una sequenza di byte in questo canale dal buffer specificato. Il handler parametro è un gestore di completamento che viene richiamato quando l'operazione di scrittura viene completata (o ha esito negativo). Il risultato passato al gestore di completamento è il numero di byte scritti.
L'operazione di scrittura può scrivere fino a r byte nel canale, dove r è il numero di byte rimanenti nel buffer, ovvero al src.remaining() momento del tentativo di scrittura. Dove r è 0, l'operazione di scrittura viene completata immediatamente con il risultato di 0 senza avviare un'operazione di I/O.
Si supponga che venga scritta una sequenza di byte di lunghezza n , dove 0 < n <= r. Questa sequenza di byte verrà trasferita dal buffer a partire dall'indice p, dove p è la posizione del buffer nel momento in cui viene eseguita la scrittura; l'indice dell'ultimo byte scritto sarà p + n - 1. Al termine, la posizione del buffer sarà uguale a p + n; il limite non verrà modificato.
I buffer non sono sicuri per l'uso da parte di più thread simultanei, pertanto è necessario prestare attenzione a non accedere al buffer fino al completamento dell'operazione.
Questo metodo può essere richiamato in qualsiasi momento. Alcuni tipi di canale potrebbero non consentire l'attesa di più scritture in un determinato momento. Se un thread avvia un'operazione di scrittura prima del completamento di un'operazione di scrittura precedente, verrà generata un'eccezione WritePendingException .
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.