Lenguaje

IWritableByteChannel.Write(ByteBuffer) Método

Definición

Escribe una secuencia de bytes en este canal desde el búfer especificado.

[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)I", "GetWrite_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IWritableByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public int Write(Java.Nio.ByteBuffer? src);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)I", "GetWrite_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IWritableByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Write : Java.Nio.ByteBuffer -> int

Parámetros

src
ByteBuffer

Búfer desde el que se van a recuperar los bytes.

Devoluciones

Número de bytes escritos, posiblemente cero

Atributos

Excepciones

si el canal no se abrió para escribir.

si el canal ya estaba cerrado.

si otro subproceso cierra el canal durante la escritura.

si otro subproceso interrumpe el subproceso que llama durante la escritura.

se produce otra excepción de E/S, los detalles se encuentran en el mensaje.

Comentarios

Escribe una secuencia de bytes en este canal desde el búfer especificado.

Se intenta escribir en 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 invoca este método.

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 invoca este método; el índice del último byte escrito será p +  n - 1. Al devolver la posición del búfer será igual a p +  n; su límite no cambiará.

A menos que se especifique lo contrario, una operación de escritura solo devolverá después de escribir todos los bytes solicitados por r . Algunos tipos de canales, dependiendo de su estado, pueden escribir solo algunos de los bytes o, posiblemente, ninguno en absoluto. Un canal de socket en modo sin bloqueo, por ejemplo, no puede escribir más bytes de los que están libres en el búfer de salida del socket.

Este método se puede invocar en cualquier momento. Sin embargo, si otro subproceso ya ha iniciado una operación de escritura en este canal, se bloqueará una invocación de este método hasta que se complete la primera operación.

Java documentación para java.nio.channels.WritableByteChannel.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