Класс 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 в поток вывода данных. |
Методы, объявленные в классе java.io.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, 2023, 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/21/docs/api/java.base/java/io/PipedOutputStream.html