Spec-Zone.ru › OpenJDK 21

Класс PipedInputStream

java.lang.Object
java.io.InputStream
java.io.PipedInputStream
Все реализуемые интерфейсы:
Closeable, AutoCloseable
public class PipedInputStream extends InputStream
Поток ввода типа pipe должен быть подключен к потоку вывода типа pipe; поток ввода типа pipe затем предоставляет любые байты данных, которые были записаны в поток вывода типа pipe. Обычно, данные считываются из объекта PipedInputStream одним потоком, а данные записываются в соответствующий объект PipedOutputStream другим потоком. Попытка использования обоих объектов из одного потока не рекомендуется, так как это может привести к тупику потока. Поток ввода типа pipe содержит буфер, отвязывающий операции чтения от операций записи, в пределах ограничений. Говорят, что pipe разрушен , если поток, который предоставлял байты данных подключенному потоку вывода типа pipe, больше не существует.
С тех пор:
1.0
См. также:
  • PipedOutputStream

Краткое описание полей

Модификатор и тип Поле Описание
protected byte[] buffer
Циклический буфер, в который помещаются входящие данные.
protected int in
Индекс позиции в циклическом буфере, в которой будет храниться следующий байт данных при получении его из подключенного потока вывода типа pipe.
protected int out
Индекс позиции в циклическом буфере, в которой будет считан следующий байт данных этим потоком ввода типа pipe.
protected static final int PIPE_SIZE
Размер буфера циклического ввода по умолчанию.

Краткое описание конструкторов

Конструктор Описание
PipedInputStream()
Создаёт объект PipedInputStream, который ещё не подключён.
PipedInputStream(int pipeSize)
Создаёт объект PipedInputStream, который ещё не подключён, и использует указанный размер pipe для буфера.
PipedInputStream(PipedOutputStream src)
Создаёт объект PipedInputStream, подключённый к потоку вывода типа pipe src.
PipedInputStream(PipedOutputStream src, int pipeSize)
Создаёт объект PipedInputStream, подключённый к потоку вывода типа pipe src, и использует указанный размер pipe для буфера.

Краткое описание методов

Модификатор и тип Метод Описание
int available()
Возвращает количество байтов, которые могут быть прочитаны из этого потока ввода без блокировки.
void close()
Закрывает этот поток ввода и освобождает все системные ресурсы, связанные с потоком.
void connect(PipedOutputStream src)
Подключает этот поток ввода типа pipe к потоку вывода типа pipe src.
int read()
Читает следующий байт данных из этого потока ввода типа pipe.
int read(byte[] b, int off, int len)
Читает до len байтов данных из этого потока ввода типа pipe в массив байтов.
protected void receive(int b)
Принимает байт данных.

Методы, объявленные в классе java.io.InputStream

mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

PIPE_SIZE

protected static final int PIPE_SIZE
Размер буфера круговой очереди ввода трубы по умолчанию.
С момента:
1.1
См. также:
  • Значения константных полей

buffer

protected byte[] buffer
Круговой буфер, в который помещаются входящие данные.
С момента:
1.1

in

protected int in
Индекс позиции в круговом буфере, в которой будет храниться следующий байт данных при получении его от подключенного потока вывода. in < 0 означает, что буфер пуст, in == out означает, что буфер заполнен
С момента:
1.1

out

protected int out
Индекс позиции в круговом буфере, в которой этот поток ввода трубы будет считывать следующий байт данных.
С момента:
1.1

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

PipedInputStream

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

PipedInputStream

public PipedInputStream(PipedOutputStream src, int pipeSize) throws IOException
Создает PipedInputStream, чтобы он был подключен к потоку вывода трубы src, и использует указанный размер трубы для буфера трубы. Байты данных, записанные в src, будут доступны в качестве входных данных из этого потока.
Параметры:
src - поток, к которому необходимо подключиться.
pipeSize - размер буфера трубы.
Исключения:
IOException - если произошла ошибка ввода-вывода.
IllegalArgumentException - если pipeSize <= 0.
С момента:
1.6

PipedInputStream

public PipedInputStream()
Создает PipedInputStream, чтобы он пока не был подключён. Он должен быть подключён к PipedOutputStream перед использованием.

PipedInputStream

public PipedInputStream(int pipeSize)
Создает PipedInputStream, чтобы он пока не был подключён, и использует указанный размер трубы для буфера трубы. Он должен быть подключён к PipedOutputStream перед использованием.
Параметры:
pipeSize - размер буфера трубы.
Исключения:
IllegalArgumentException - если pipeSize <= 0.
С момента:
1.6

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

connect

public void connect(PipedOutputStream src) throws IOException
Подключает этот поток ввода трубы к потоку вывода трубы src. Если этот объект уже подключен к другому потоку вывода трубы, выбрасывается IOException.

Если src является отключенным потоком вывода трубы, а snk является отключенным потоком ввода трубы, они могут быть подключены либо вызовом:

    snk.connect(src)

либо вызовом:

    src.connect(snk)

Два вызова имеют одинаковый эффект.

Параметры:
src - Поток вывода трубы, к которому необходимо подключиться.
Исключения:
IOException - если произошла ошибка ввода-вывода.

receive

protected void receive(int b) throws IOException
Принимает байт данных. Этот метод будет блокироваться, если нет доступных входных данных.
Параметры:
b - принимаемый байт
Исключения:
IOException - Если труба broken, unconnected, закрыта или если произошла ошибка ввода-вывода.
С момента:
1.1

read

public int read() throws IOException
Считывает следующий байт данных из этого потока ввода трубы. Значение байта возвращается как int в диапазоне 0 до 255. Этот метод блокируется до тех пор, пока данные не станут доступными, не будет обнаружен конец потока или не произойдёт исключение.
Указано в:
read в классе InputStream
Возвращает:
следующий байт данных или -1 если достигнут конец потока.
Исключения:
IOException - если труба unconnected, broken, закрыта или если произошла ошибка ввода-вывода.

read

public int read(byte[] b, int off, int len) throws IOException
Считывает до len байтов данных из этого потока ввода трубы в массив байтов. Менее чем len байтов будет считано, если достигнут конец потока данных или если len превышает размер буфера трубы. Если len равно нулю, то байты не считываются, и возвращается 0; в противном случае метод блокируется, пока не станет доступным хотя бы 1 байт входных данных, не будет обнаружен конец потока или не произойдёт исключение.
Переопределяет:
read в классе InputStream
Параметры:
b - буфер, в который считываются данные.
off - начальный смещение в массиве b, в котором записываются данные.
len - максимальное число считываемых байтов.
Возвращает:
общее количество считанных байтов в буфер или -1 если больше нет данных, потому что достигнут конец потока.
Исключения:
NullPointerException - Если b равно null.
IndexOutOfBoundsException - Если off отрицательно, len отрицательно или len больше b.length - off
IOException - если труба broken, unconnected, закрыта или если произошла ошибка ввода-вывода.
См. также:
  • InputStream.read()

available

public int available() throws IOException
Возвращает количество байтов, которые можно прочитать из этого потока ввода без блокировки.
Переопределяет:
available в классе InputStream
Возвращает:
количество байтов, которые можно прочитать из этого потока ввода без блокировки, или 0 если этот поток ввода был закрыт вызовом метода close(), или если труба unconnected, или broken.
Исключения:
IOException - если произошла ошибка ввода-вывода.
С момента:
1.0.2

close

public void close() throws IOException
Закрывает этот поток ввода и высвобождает любые системные ресурсы, связанные с потоком.
Указано в:
close в интерфейсе AutoCloseable
Указано в:
close в интерфейсе Closeable
Переопределяет:
close в классе InputStream
Исключения:
IOException - если произошла ошибка ввода-вывода.

© 1993, 2023, 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/21/docs/api/java.base/java/io/PipedInputStream.html

Spec-Zone.ru

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