IAsynchronousByteChannel.Write Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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.