Idioma

IAsynchronousByteChannel.Write Método

Definição

Sobrecargas

Nome Description
Write(ByteBuffer)

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

Write(ByteBuffer, Object, ICompletionHandler)

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

Write(ByteBuffer)

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

[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

O buffer do qual os bytes devem ser recuperados

Retornos

Um futuro que representa o resultado da operação

Atributos

Comentários

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

Esse método inicia uma operação de gravação assíncrona para gravar uma sequência de bytes nesse canal do buffer fornecido. O método se comporta exatamente da mesma maneira que o #write(ByteBuffer,Object,CompletionHandler) write(ByteBuffer,Object,CompletionHandler) método, exceto que, em vez de especificar um manipulador de conclusão, esse método retorna um Future resultado que representa o resultado pendente. O Futuremétodo 's Future#get() get retorna o número de bytes gravados.

Java documentação para java.nio.channels.AsynchronousByteChannel.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

Write(ByteBuffer, Object, ICompletionHandler)

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

[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

O buffer do qual os bytes devem ser recuperados

attachment
Object

O objeto a ser anexado à operação de E/S; pode ser null

handler
ICompletionHandler

O objeto do manipulador de conclusão

Atributos

Comentários

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

Esse método inicia uma operação de gravação assíncrona para gravar uma sequência de bytes nesse canal do buffer fornecido. O handler parâmetro é um manipulador de conclusão que é invocado quando a operação de gravação é concluída (ou falha). O resultado passado para o manipulador de conclusão é o número de bytes gravados.

A operação de gravação pode gravar até r bytes no canal, onde r é o número de bytes restantes no buffer, ou seja, src.remaining() no momento em que a gravação é tentada. Onde r é 0, a operação de gravação é concluída imediatamente com o resultado de sem iniciar uma operação de 0 E/S.

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 a gravação é executada; o índice do último byte gravado será p +  n - 1. Após a conclusão, a posição do buffer será igual a p +  n; seu limite não terá sido alterado.

Os buffers não são seguros para uso por vários threads simultâneos, portanto, deve-se tomar cuidado para não acessar o buffer até que a operação seja concluída.

Esse método pode ser invocado a qualquer momento. Alguns tipos de canal podem não permitir que mais de uma gravação seja excelente em um determinado momento. Se um thread iniciar uma operação de gravação antes da conclusão de uma operação de gravação anterior, uma WritePendingException operação será lançada.

Java documentação para java.nio.channels.AsynchronousByteChannel.write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>).

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