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