Spec-Zone.ru › OpenJDK 27

Класс 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)
Записывает len байтов из указанного массива байтов, начиная со смещения off, в этот канализированный поток вывода.
void write(int b)
Записывает указанное значение byte в канализированный поток вывода.

Методы, объявленные в классе OutputStream

nullOutputStream, write
Модификатор и тип Метод Описание
static OutputStream nullOutputStream()
Возвращает новый объект OutputStream, отбрасывающий все байты.
void write(byte[] b)
Записывает b.length байтов из указанного массива байтов в этот выходной поток.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект некоторому другому объекту.
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(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

PipedOutputStream

public PipedOutputStream(PipedInputStream snk) throws IOException
Создает канализированный поток вывода, связанный с указанным канализированным потоком ввода. Байты данных, записанные в этот поток, будут доступны для чтения из snk.
Параметры:
snk — канализированный поток ввода, с которым необходимо установить соединение.
Исключения:
IOException — если возникает ошибка ввода-вывода.

PipedOutputStream

public PipedOutputStream()
Создает канализированный поток вывода, еще не связанный с канализированным потоком ввода. Перед использованием его необходимо связать с канализированным потоком ввода — вызовом со стороны приемника или отправителя.
См. также:
  • PipedInputStream.connect(java.io.PipedOutputStream)
  • connect(java.io.PipedInputStream)

Подробное описание методов

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 — если возникает ошибка ввода-вывода.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API