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