Класс PipedOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.PipedOutputStream
- Все реализованные интерфейсы:
-
Closeable,Flushable,AutoCloseable
public class PipedOutputStream extends OutputStream
Поток вывода типа «труба» может быть соединён с потоком ввода типа «труба» для создания канала связи. Поток вывода типа «труба» является отправляющим концом канала. Как правило, данные записываются в объект PipedOutputStream одним потоком, а данные считываются из соединённого объекта PipedInputStream другим потоком. Использование обоих объектов одним потоком не рекомендуется, так как это может привести к тупиковой ситуации в потоке. Канал считается разрушенным, если поток, который считывал байты данных из соединённого потока ввода типа «труба», больше не жив.
- С момента:
- 1.0
- См. также:
PipedInputStream
Конструкторы
| Конструктор | Описание |
|---|---|
PipedOutputStream() |
Создаёт поток вывода типа «труба», который ещё не соединён с потоком ввода типа «труба». |
PipedOutputStream(PipedInputStream snk) |
Создаёт поток вывода типа «труба», соединённый со специфицированным потоком ввода типа «труба». |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает этот поток вывода типа «труба» и освобождает любые системные ресурсы, связанные с этим потоком. |
void |
connect(PipedInputStream snk) |
Подключает этот поток вывода типа «труба» к приёмнику. |
void |
flush() |
Очищает этот поток вывода и заставляет любые буферизованные байты вывода быть записанными. |
void |
write(byte[] b,
int off,
int len) |
Записывает |
void |
write(int b) |
Записывает указанный |
Методы, объявленные в классе java.io.OutputStream
nullOutputStream, write
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Конструкторы
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, закрыта или если возникает ошибка ввода-вывода.
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, 2020, 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/11/docs/api/java.base/java/io/PipedOutputStream.html