Класс 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/nio/channels/Pipe.html