Класс 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, закрыта или если произошла ошибка ввода-вывода.
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, 2021, 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/17/docs/api/java.base/java/io/PipedOutputStream.html