Spec-Zone.ru › OpenJDK 8

Интерфейс WritableByteChannel

Все суперинтерфейсы:
AutoCloseable, Channel, Closeable
Все известные подинтерфейсы:
ByteChannel, GatheringByteChannel, SeekableByteChannel
Все известные реализующие классы:
DatagramChannel, FileChannel, Pipe.SinkChannel, SocketChannel

public interface WritableByteChannel
extends Channel

Канал, позволяющий записывать байты.

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

С:
1.4

Методы

Модификатор и тип Метод и описание
int write(ByteBuffer src)

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

Методы, унаследованные от интерфейса java.nio.channels.Channel

close, isOpen

Методы

write

int write(ByteBuffer src)
   throws IOException

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

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

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

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

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

Параметры:
src - Буфер, из которого должны быть извлечены байты
Возвращает:
Количество записанных байтов, возможно, ноль
Исключение:
NonWritableChannelException - Если этот канал не был открыт для записи
ClosedChannelException - Если этот канал закрыт
AsynchronousCloseException - Если другой поток закрывает этот канал во время операции записи
ClosedByInterruptException - Если другой поток прерывает текущий поток во время операции записи, тем самым закрывая канал и устанавливая состояние прерывания текущего потока
IOException - Если произошла какая-либо другая ошибка ввода-вывода

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API