Idioma

IWritableByteChannel.Write(ByteBuffer) Método

Definição

Grava uma sequência de bytes nesse canal do buffer fornecido.

[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

O buffer do qual os bytes devem ser recuperados

Retornos

O número de bytes escritos, possivelmente zero

Atributos

Exceções

se o canal não foi aberto para gravação.

se o canal já estava fechado.

se outro thread fechar o canal durante a gravação.

se outro thread interromper o thread de chamada durante a gravação.

outra exceção de E/S ocorre, os detalhes estão na mensagem.

Comentários

Grava uma sequência de bytes nesse canal do buffer fornecido.

É feita uma tentativa de gravar até r bytes no canal, em que r é o número de bytes restantes no buffer, ou seja, src.remaining()no momento em que esse método é invocado.

Suponha que uma sequência de bytes de comprimento n seja escrita, em 0que  <=  n <=  r. Essa sequência de bytes será transferida do buffer começando no índice p, onde p é a posição do buffer no momento em que esse método é invocado; o índice do último byte gravado será p +  n - 1. Ao retornar, a posição do buffer será igual a p +  n; seu limite não terá sido alterado.

A menos que especificado de outra forma, uma operação de gravação retornará somente depois de gravar todos os bytes solicitados r. Alguns tipos de canais, dependendo de seu estado, podem escrever apenas alguns dos bytes ou possivelmente nenhum. Um canal de soquete no modo de não bloqueio, por exemplo, não pode gravar mais bytes do que gratuito no buffer de saída do soquete.

Esse método pode ser invocado a qualquer momento. No entanto, se outro thread já tiver iniciado uma operação de gravação nesse canal, uma invocação desse método será bloqueada até que a primeira operação seja concluída.

Java documentação para java.nio.channels.WritableByteChannel.write(java.nio.ByteBuffer).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a