IAsynchronousByteChannel.Write Метод

Определение

Перегрузки

Имя Описание
Write(ByteBuffer)

Записывает последовательность байтов в этот канал из заданного буфера.

Write(ByteBuffer, Object, ICompletionHandler)

Записывает последовательность байтов в этот канал из заданного буфера.

Write(ByteBuffer)

Записывает последовательность байтов в этот канал из заданного буфера.

[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

Параметры

src
ByteBuffer

Буфер, из которого извлекаются байты

Возвращаемое значение

Будущее, представляющее результат операции

Атрибуты

Комментарии

Записывает последовательность байтов в этот канал из заданного буфера.

Этот метод инициирует асинхронную операцию записи для записи последовательности байтов в этот канал из заданного буфера. Метод ведет себя точно так же, как #write(ByteBuffer,Object,CompletionHandler) write(ByteBuffer,Object,CompletionHandler) метод, за исключением того, что вместо указания обработчика завершения этот метод возвращает Future ожидающий результат. Future Метод Future#get() getвозвращает количество записанных байтов.

Java документации по java.nio.channels.AsynchronousByteChannel.write(java.nio.ByteBuffer).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к

Write(ByteBuffer, Object, ICompletionHandler)

Записывает последовательность байтов в этот канал из заданного буфера.

[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

Параметры

src
ByteBuffer

Буфер, из которого извлекаются байты

attachment
Object

Объект для подключения к операции ввода-вывода; может быть null

handler
ICompletionHandler

Объект обработчика завершения

Атрибуты

Комментарии

Записывает последовательность байтов в этот канал из заданного буфера.

Этот метод инициирует асинхронную операцию записи для записи последовательности байтов в этот канал из заданного буфера. Параметр handler — это обработчик завершения, который вызывается при завершении операции записи (или завершается сбоем). Результатом, переданным обработчику завершения, является число записанных байтов.

Операция записи может записывать до байтов в канал, где r — это число байтов, оставшихся в буфере, то есть src.remaining() во время попытки записи. Где значение r равно 0, операция записи завершается немедленно с результатом 0 без инициирования операции ввода-вывода.

Предположим, что записывается последовательность байтов длины n , где 0><> n><=> r. Эта последовательность байтов будет передана из буфера, начиная с индекса p, где p — позиция буфера в момент выполнения записи; Индекс последней записи байтов будет p +> n>->1. По завершении позиция буфера будет равна p +> n; его ограничение не изменится.

Буферы небезопасны для использования несколькими параллельными потоками, поэтому необходимо принять меры, чтобы не получить доступ к буферу до завершения операции.

Этот метод может вызываться в любое время. Некоторые типы каналов могут не разрешать несколько операций записи в любое время. Если поток инициирует операцию записи до завершения предыдущей операции записи, WritePendingException создается исключение.

Java документации по java.nio.channels.AsynchronousByteChannel.write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к