Класс 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, 2021, 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/17/docs/api/java.base/java/nio/channels/Pipe.html