Класс 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
static OutputStream |
nullOutputStream() |
Возвращает новый объект OutputStream, отбрасывающий все байты. |
void |
write |
Записывает b.length байтов из указанного массива байтов в этот выходной поток. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект некоторому другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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, в этот канализированный поток вывода. Если len не равно нулю, этот метод блокируется до записи всех байтов в выходной поток.- Переопределяет:
-
writeв классеOutputStream - Параметры:
-
b— данные. -
off— начальное смещение в данных. -
len— количество байтов для записи. - Исключения:
-
IndexOutOfBoundsException— еслиoffотрицательно,lenотрицательно илиlenбольшеb.length - off -
IOException— если канал разорван,unconnected, закрыт, аlenбольше нуля, либо возникает ошибка ввода-вывода.
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.