Класс PipedOutputStream
java.lang.Object
java.io.OutputStream
java.io.PipedOutputStream
- Все реализованные интерфейсы:
-
Closeable,Flushable,AutoCloseable
public class PipedOutputStream extends OutputStream
Поток вывода данных типа pipe может быть подключен к потоку ввода типа pipe для создания канала связи. Поток вывода типа pipe является отправляющей стороной канала. Обычно данные записываются в объект
PipedOutputStream одним потоком, а данные считываются из подключенного объекта PipedInputStream другим потоком. Не рекомендуется использовать оба объекта из одного потока, так как это может привести к тупиковой ситуации. Кана́л считается разрушенным, если поток, считывающий байты данных из подключенного потока ввода типа pipe, больше не жив.
- С тех пор:
- 1.0
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PipedOutputStream() |
Создаёт поток вывода типа pipe, который ещё не подключён к потоку ввода типа pipe. |
PipedOutputStream |
Создаёт поток вывода типа pipe, подключённый к указанному потоку ввода типа pipe. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает этот поток вывода типа pipe и освобождает все системные ресурсы, связанные с этим потоком. |
void |
connect |
Подключает этот поток вывода типа pipe к получателю. |
void |
flush() |
Очищает этот поток вывода и принудительно записывает все буферизованные байты вывода. |
void |
write |
Записывает len байтов из указанного массива байтов, начиная с смещения off, в этот поток вывода типа pipe. |
void |
write |
Записывает указанный byte в поток вывода типа pipe. |
Методы, объявленные в классе java.io.OutputStream
nullOutputStream, write
Подробное описание конструкторов
PipedOutputStream
public PipedOutputStream(PipedInputStream snk) throws IOException
Создаёт поток вывода типа pipe, подключённый к указанному потоку ввода типа pipe. Байты данных, записанные в этот поток, будут доступны в качестве ввода из
snk.- Параметры:
-
snk- Поток ввода типа pipe, к которому нужно подключиться. - Исключения:
-
IOException- Если произошла ошибка ввода-вывода.
PipedOutputStream
public PipedOutputStream()
Создаёт поток вывода типа pipe, который ещё не подключён к потоку ввода типа pipe. Он должен быть подключён к потоку ввода типа pipe, либо получателем, либо отправителем, перед использованием.
- См. также:
Подробное описание методов
connect
public void connect(PipedInputStream snk) throws IOException
Подключает этот поток вывода типа pipe к получателю. Если этот объект уже подключен к какому-то другому потоку ввода типа pipe, выбрасывается
или вызова:
Оба вызова имеют одинаковый эффект.
IOException. Если snk является отключённым потоком ввода типа pipe, а src является отключённым потоком вывода типа pipe, то их можно подключить либо с помощью вызова:
src.connect(snk)
snk.connect(src)
- Параметры:
-
snk- Поток ввода типа pipe, к которому нужно подключиться. - Исключения:
-
IOException- Если произошла ошибка ввода-вывода.
write
public void write(int b) throws IOException
Записывает указанный
byte в поток вывода типа pipe. Реализует метод write интерфейса OutputStream.
- Определено в:
-
writeв классеOutputStream - Параметры:
-
b- Записываемыйbyte. - Исключения:
-
IOException- Если канал разрушен,unconnected, закрыт, или если произошла ошибка ввода-вывода.
write
public void write(byte[] b, int off, int len) throws IOException
Записывает
len байтов из указанного массива байтов, начиная со смещения off, в этот поток вывода типа pipe. Этот метод блокируется до тех пор, пока все байты не будут записаны в поток вывода.- Переопределяет:
-
writeв классеOutputStream - Параметры:
-
b- данные. -
off- начальное смещение в данных. -
len- количество байтов для записи. - Исключения:
-
IOException- Если канал разрушен,unconnected, закрыт, или если произошла ошибка ввода-вывода. -
IndexOutOfBoundsException- Еслиoffотрицательно,lenотрицательно илиlenбольше чемb.length - off
flush
public void flush() throws IOException
Очищает этот поток вывода и принудительно записывает все буферизованные байты вывода. Это уведомит всех читателей о том, что байты ожидают в канале.
- Определено в:
-
flushв интерфейсеFlushable - Переопределяет:
-
flushв классеOutputStream - Исключения:
-
IOException- Если произошла ошибка ввода-вывода.
close
public void close() throws IOException
Закрывает этот поток вывода типа pipe и освобождает все системные ресурсы, связанные с этим потоком. Этот поток больше не может быть использован для записи байтов.
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеOutputStream - Исключения:
-
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/io/PipedOutputStream.html