Класс PipedOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.PipedOutputStream
- Все реализованные интерфейсы:
- Closeable, Flushable, AutoCloseable
public class PipedOutputStream extends OutputStream
Потоковый вывод данных может быть подключен к потоку ввода для создания коммуникационного канала. Потоковый вывод данных является отправляющим концом канала. Обычно данные записываются в объект PipedOutputStream одним потоком, а данные считываются из подключённого объекта PipedInputStream другим потоком. Не рекомендуется использовать оба объекта из одного потока, так как это может привести к блокировке потока. Канал считается разъединённым , если поток, который считывал данные из подключенного потока ввода, больше не активен.
- С:
- JDK1.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
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в интерфейсеCloseable - Определено в:
-
closeв интерфейсеAutoCloseable - Переопределяет:
-
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.