IAsynchronousByteChannel.Write Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
| Nombre | Description |
|---|---|
| Write(ByteBuffer) |
Escribe una secuencia de bytes en este canal desde el búfer especificado. |
| Write(ByteBuffer, Object, ICompletionHandler) |
Escribe una secuencia de bytes en este canal desde el búfer especificado. |
Write(ByteBuffer)
Escribe una secuencia de bytes en este canal desde el búfer especificado.
[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
Parámetros
- src
- ByteBuffer
Búfer desde el que se van a recuperar los bytes.
Devoluciones
Un futuro que representa el resultado de la operación
- Atributos
Comentarios
Escribe una secuencia de bytes en este canal desde el búfer especificado.
Este método inicia una operación de escritura asincrónica para escribir una secuencia de bytes en este canal desde el búfer especificado. El método se comporta exactamente de la misma manera que el #write(ByteBuffer,Object,CompletionHandler) write(ByteBuffer,Object,CompletionHandler) método, excepto que en lugar de especificar un controlador de finalización, este método devuelve un Future que representa el resultado pendiente. El Futuremétodo de Future#get() get devuelve el número de bytes escritos.
Java documentación para java.nio.channels.AsynchronousByteChannel.write(java.nio.ByteBuffer).
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Se aplica a
Write(ByteBuffer, Object, ICompletionHandler)
Escribe una secuencia de bytes en este canal desde el búfer especificado.
[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
Parámetros
- src
- ByteBuffer
Búfer desde el que se van a recuperar los bytes.
- attachment
- Object
Objeto que se va a adjuntar a la operación de E/S; puede ser null
- handler
- ICompletionHandler
El objeto de controlador de finalización
- Atributos
Comentarios
Escribe una secuencia de bytes en este canal desde el búfer especificado.
Este método inicia una operación de escritura asincrónica para escribir una secuencia de bytes en este canal desde el búfer especificado. El handler parámetro es un controlador de finalización que se invoca cuando se completa la operación de escritura (o se produce un error). El resultado pasado al controlador de finalización es el número de bytes escritos.
La operación de escritura puede escribir hasta bytes r en el canal, donde r es el número de bytes restantes en el búfer, es decir, src.remaining() en el momento en que se intenta escribir. Donde r es 0, la operación de escritura se completa inmediatamente con el resultado de 0 sin iniciar una operación de E/S.
Supongamos que se escribe una secuencia de bytes de longitud n , donde 0 < n <= r. Esta secuencia de bytes se transferirá desde el búfer a partir del índice p, donde p es la posición del búfer en el momento en que se realiza la escritura; el índice del último byte escrito será p + n - 1. Tras finalizar la posición del búfer será igual a p + n; su límite no cambiará.
Los búferes no son seguros para su uso por varios subprocesos simultáneos, por lo que se debe tener cuidado para no tener acceso al búfer hasta que se haya completado la operación.
Este método se puede invocar en cualquier momento. Es posible que algunos tipos de canal no permitan que más de una escritura esté pendiente en un momento dado. Si un subproceso inicia una operación de escritura antes de que se haya completado una operación de escritura anterior, se producirá una WritePendingException excepción .
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.