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 создается исключение.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".