Linguaggio

IAsynchronousByteChannel.Write Metodo

Definizione

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 .

per java.nio.channels.AsynchronousByteChannel.write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>).

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