Spec-Zone.ru › OpenJDK 8

Класс Channels

  • java.lang.Object
    • java.nio.channels.Channels

public final class Channels
extends Object

Утилитарные методы для каналов и потоков.

Этот класс определяет статические методы, которые поддерживают взаимодействие классов потоков из пакета java.io с классами каналов из этого пакета.

С момента:
1.4

Методы

Модификатор и тип Метод и описание
static ReadableByteChannel newChannel(InputStream in)

Создаёт канал, который считывает байты из заданного потока.

static WritableByteChannel newChannel(OutputStream out)

Создаёт канал, который записывает байты в заданный поток.

static InputStream newInputStream(AsynchronousByteChannel ch)

Создаёт поток, который считывает байты из заданного канала.

static InputStream newInputStream(ReadableByteChannel ch)

Создаёт поток, который считывает байты из заданного канала.

static OutputStream newOutputStream(AsynchronousByteChannel ch)

Создаёт поток, который записывает байты в заданный канал.

static OutputStream newOutputStream(WritableByteChannel ch)

Создаёт поток, который записывает байты в заданный канал.

static Reader newReader(ReadableByteChannel ch, CharsetDecoder dec, int minBufferCap)

Создаёт чтец, который декодирует байты из заданного канала с использованием заданного декодера.

static Reader newReader(ReadableByteChannel ch, String csName)

Создаёт чтец, который декодирует байты из заданного канала в соответствии с заданным кодированием символов.

static Writer newWriter(WritableByteChannel ch, CharsetEncoder enc, int minBufferCap)

Создаёт записыватель, который кодирует символы с использованием заданного кодера и записывает полученные байты в заданный канал.

static Writer newWriter(WritableByteChannel ch, String csName)

Создаёт записыватель, который кодирует символы в соответствии с заданным кодированием символов и записывает полученные байты в заданный канал.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы

newInputStream

public static InputStream newInputStream(ReadableByteChannel ch)

Создаёт поток, который считывает байты из заданного канала.

Методы read результирующего потока будут выбрасывать исключение IllegalBlockingModeException, если вызываются, когда основной канал находится в режиме неголосующего (non-blocking) режима. Поток не будет буферизован и не будет поддерживать методы mark или reset. Поток будет безопасен для доступа множественных потоков одновременно. Закрытие потока приведёт к закрытию канала.

Параметры:
ch - Канал, из которого будут считываться байты
Возвращает:
Новый входной поток

newOutputStream

public static OutputStream newOutputStream(WritableByteChannel ch)

Создаёт поток, который записывает байты в заданный канал.

Методы write результирующего потока будут выбрасывать исключение IllegalBlockingModeException, если вызываются, когда основной канал находится в режиме неголосующего (non-blocking) режима. Поток не будет буферизован. Поток будет безопасен для доступа множественных потоков одновременно. Закрытие потока приведёт к закрытию канала.

Параметры:
ch - Канал, в который будут записываться байты
Возвращает:
Новый выходной поток

newInputStream

public static InputStream newInputStream(AsynchronousByteChannel ch)

Создаёт поток, который считывает байты из заданного канала.

Поток не будет буферизован и не будет поддерживать методы mark или reset. Поток будет безопасен для доступа множественных потоков одновременно. Закрытие потока приведёт к закрытию канала.

Параметры:
ch - Канал, из которого будут считываться байты
Возвращает:
Новый входной поток
С момента:
1.7

newOutputStream

public static OutputStream newOutputStream(AsynchronousByteChannel ch)

Создаёт поток, который записывает байты в заданный канал.

Поток не будет буферизован. Поток будет безопасен для доступа множественных потоков одновременно. Закрытие потока приведёт к закрытию канала.

Параметры:
ch - Канал, в который будут записываться байты
Возвращает:
Новый выходной поток
С момента:
1.7

newChannel

public static ReadableByteChannel newChannel(InputStream in)

Создаёт канал, который считывает байты из заданного потока.

Полученный канал не будет буферизован; он просто перенаправит свои операции ввода/вывода на заданный поток. Закрытие канала приведёт к закрытию потока.

Параметры:
in - Поток, из которого нужно считывать байты
Возвращает:
Новый канал для чтения байтов

newChannel

public static WritableByteChannel newChannel(OutputStream out)

Создаёт канал, который записывает байты в заданный поток.

Полученный канал не будет буферизован; он просто перенаправит свои операции ввода/вывода на заданный поток. Закрытие канала приведёт к закрытию потока.

Параметры:
out - Поток, в который нужно записывать байты
Возвращает:
Новый канал для записи байтов

newReader

public static Reader newReader(ReadableByteChannel ch,
                               CharsetDecoder dec,
                               int minBufferCap)

Создаёт чтец, который декодирует байты из заданного канала с использованием заданного декодера.

Полученный поток будет содержать внутренний буфер ввода как минимум minBufferCap байт. Методы read потока по мере необходимости будут заполнять буфер, считывая байты из основного канала; если канал находится в режиме неголосующего (non-blocking) режима при считывании байтов, будет выброшено исключение IllegalBlockingModeException. Результирующий поток не будет иначе буферизован и не будет поддерживать методы mark или reset. Закрытие потока приведёт к закрытию канала.

Параметры:
ch - Канал, из которого будут считываться байты
dec - Декодер кодирования символов для использования
minBufferCap - Минимальная ёмкость внутреннего буфера байтов, или -1 если будет использоваться зависящая от реализации ёмкость по умолчанию
Возвращает:
Новый чтец

newReader

public static Reader newReader(ReadableByteChannel ch,
                               String csName)

Создаёт чтец, который декодирует байты из заданного канала в соответствии с заданным кодированием символов.

Вызов этого метода в форме

Channels.newReader(ch, csname)
ведет себя точно так же, как выражение
Channels.newReader(ch,
                   Charset.forName(csName)
                       .newDecoder(),
                   -1);
Параметры:
ch - Канал, из которого будут считываться байты
csName - Название кодирования символов для использования
Возвращает:
Новый чтец
Выбрасывает:
UnsupportedCharsetException - Если поддержка заданного кодирования символов недоступна в текущей виртуальной машине Java

newWriter

public static Writer newWriter(WritableByteChannel ch,
                               CharsetEncoder enc,
                               int minBufferCap)

Создаёт записыватель, который кодирует символы с использованием заданного кодера и записывает полученные байты в заданный канал.

Полученный поток будет содержать внутренний буфер вывода как минимум minBufferCap байт. Методы write потока по мере необходимости будут сбрасывать буфер, записывая байты в основной канал; если канал находится в режиме неголосующего (non-blocking) режима при записи байтов, будет выброшено исключение IllegalBlockingModeException. Результирующий поток не будет иначе буферизован. Закрытие потока приведёт к закрытию канала.

Параметры:
ch - Канал, в который будут записываться байты
enc - Кодер кодирования символов для использования
minBufferCap - Минимальная ёмкость внутреннего буфера байтов, или -1 если будет использоваться зависящая от реализации ёмкость по умолчанию
Возвращает:
Новый записыватель

newWriter

public static Writer newWriter(WritableByteChannel ch,
                               String csName)

Создаёт записыватель, который кодирует символы в соответствии с заданным кодированием символов и записывает полученные байты в заданный канал.

Вызов этого метода в форме

Channels.newWriter(ch, csname)
ведет себя точно так же, как выражение
Channels.newWriter(ch,
                   Charset.forName(csName)
                       .newEncoder(),
                   -1);
Параметры:
ch - Канал, в который будут записываться байты
csName - Название кодирования символов для использования
Возвращает:
Новый записыватель
Выбрасывает:
UnsupportedCharsetException - Если поддержка заданного кодирования символов недоступна в текущей виртуальной машине Java

© 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