Класс Pipe
public abstract class Pipe extends Object
Канал состоит из пары каналов: записываемого канала sink и читаемого канала source. После записи байтов в канал-приёмник их можно прочитать из канала-источника точно в том порядке, в котором они были записаны.
Будет ли поток, записывающий байты в канал, блокироваться до тех пор, пока другой поток не прочитает эти байты или некоторые ранее записанные байты из канала, зависит от системы и поэтому не определено. Многие реализации каналов буферизуют определённое количество байтов между каналами-приёмником и источником, однако полагаться на такую буферизацию не следует.
- Начиная с версии:
- 1.4
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
Pipe.SinkChannel |
Канал, представляющий записываемый конец Pipe. |
static class |
Pipe.SourceChannel |
Канал, представляющий читаемый конец Pipe. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Инициализирует новый экземпляр этого класса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static Pipe |
open() |
Открывает канал. |
abstract Pipe.SinkChannel |
sink() |
Возвращает канал-приёмник этого канала. |
abstract Pipe.SourceChannel |
source() |
Возвращает канал-источник этого канала. |
Подробное описание конструкторов
Pipe
protected Pipe()
Подробное описание методов
source
public abstract Pipe.SourceChannel source()
- Возвращает:
- Канал-источник этого канала
sink
public abstract Pipe.SinkChannel sink()
- Возвращает:
- Канал-приёмник этого канала
open
public static Pipe open() throws IOException
Новый канал создаётся вызовом метода openPipe объекта общесистемного поставщика селектора по умолчанию SelectorProvider.
- Возвращает:
- Новый канал
- Вызывает исключение:
-
IOException- если возникает ошибка ввода-вывода
© 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/channels/Pipe.html