Spec-Zone.ru › OpenJDK 27

Класс SequenceInputStream

java.lang.Object
java.io.InputStream
java.io.SequenceInputStream
Все реализуемые интерфейсы:
Closeable, AutoCloseable
public class SequenceInputStream extends InputStream
SequenceInputStream представляет собой логическое объединение других входных потоков. Изначально ему передаётся упорядоченная коллекция входных потоков; чтение начинается с первого потока и продолжается до достижения конца файла, затем выполняется чтение из второго потока и так далее, пока не будет достигнут конец файла последнего содержащегося в коллекции входного потока.
Начиная с:
1.0

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

Конструктор Описание
SequenceInputStream(InputStream s1, InputStream s2)
Инициализирует новый SequenceInputStream, сохраняя два аргумента, которые будут считываться по порядку: сначала s1, затем s2, чтобы предоставить байты для чтения из этого SequenceInputStream.
SequenceInputStream(Enumeration<? extends InputStream> e)
Инициализирует новый SequenceInputStream, сохраняя аргумент, который должен быть Enumeration, создающим объекты с типом времени выполнения InputStream.

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

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

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

mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
Модификатор и тип Метод Описание
void mark(int readlimit)
Отмечает текущую позицию в этом входном потоке.
boolean markSupported()
Проверяет, поддерживает ли этот входной поток методы mark и reset.
static InputStream nullInputStream()
Возвращает новый InputStream, который не считывает байты.
int read(byte[] b)
Считывает некоторое количество байтов из входного потока и сохраняет их в буферном массиве b.
byte[] readAllBytes()
Считывает все оставшиеся байты из входного потока.
int readNBytes(byte[] b, int off, int len)
Считывает из входного потока указанное количество байтов в заданный массив байтов.
byte[] readNBytes(int len)
Считывает из входного потока до указанного количества байтов.
void reset()
Перемещает этот поток к позиции, на которой он находился в момент последнего вызова метода mark для этого входного потока.
long skip(long n)
Пропускает и отбрасывает n байтов данных из этого входного потока.
void skipNBytes(long n)
Пропускает и отбрасывает ровно n байтов данных из этого входного потока.
long transferTo(OutputStream out)
Считывает все байты из этого входного потока и записывает их в заданный выходной поток в порядке считывания.

Методы, объявленные в классе 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()
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

SequenceInputStream

public SequenceInputStream(Enumeration<? extends InputStream> e)
Инициализирует новый SequenceInputStream, сохраняя аргумент, который должен быть Enumeration, создающим объекты с типом времени выполнения InputStream. Входные потоки, создаваемые перечислением, будут считываться по порядку, предоставляя байты для чтения из этого SequenceInputStream. После исчерпания каждого входного потока из перечисления он закрывается вызовом метода close.
Параметры:
e - перечисление входных потоков.
См. также:
  • Enumeration

SequenceInputStream

public SequenceInputStream(InputStream s1, InputStream s2)
Инициализирует новый SequenceInputStream, сохраняя два аргумента, которые будут считываться по порядку: сначала s1, затем s2, чтобы предоставить байты для чтения из этого SequenceInputStream.
Параметры:
s1 - первый входной поток для чтения.
s2 - второй входной поток для чтения.

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

available

public int available() throws IOException
Возвращает оценку количества байтов, которые можно прочитать (или пропустить) из текущего базового входного потока без блокировки при следующем вызове метода для текущего базового входного потока. Следующий вызов может быть выполнен тем же или другим потоком. Одно чтение или пропуск такого количества байтов не приведёт к блокировке, однако фактически может быть прочитано или пропущено меньше байтов.

Этот метод просто вызывает available для текущего базового входного потока и возвращает результат.

Переопределяет:
available в классе InputStream
Возвращает:
оценку количества байтов, которые можно прочитать (или пропустить) из текущего базового входного потока без блокировки, или 0, если этот входной поток был закрыт вызовом метода close()
Выбрасывает:
IOException - если произошла ошибка ввода-вывода.
Начиная с:
1.1

read

public int read() throws IOException
Считывает следующий байт данных из входного потока. Значение байта возвращается как int в диапазоне от 0 до 255. Если байт недоступен, поскольку достигнут конец потока, возвращается значение -1. Этот метод блокируется до тех пор, пока входные данные не станут доступны, не будет обнаружен конец потока или не возникнет исключение.

Этот метод пытается считать один байт из текущего подчинённого потока. Если достигнут конец потока, он вызывает метод close текущего подчинённого потока и начинает считывание из следующего подчинённого потока.

Определён в:
read в классе InputStream
Возвращает:
следующий байт данных или -1, если достигнут конец потока.
Выбрасывает:
IOException - если произошла ошибка ввода-вывода.

read

public int read(byte[] b, int off, int len) throws IOException
Считывает до len байтов данных из этого входного потока в массив байтов. Если достигнут конец последнего содержащегося потока, возвращается -1. В противном случае, если len не равно нулю, метод блокируется до тех пор, пока не станет доступен хотя бы 1 байт входных данных; если len равно нулю, байты не считываются и возвращается 0.

Метод read класса SequenceInputStream пытается считать данные из текущего подчинённого потока. Если не удаётся считать ни одного байта, поскольку подчинённый поток достиг конца, вызывается метод close текущего подчинённого потока и начинается чтение из следующего подчинённого потока.

Переопределяет:
read в классе InputStream
Параметры:
b - буфер, в который считываются данные.
off - начальное смещение в массиве b, по которому записываются данные.
len - максимальное количество считываемых байтов.
Возвращает:
общее количество байтов, считанных в буфер, или -1, если данных больше нет, поскольку достигнут конец последнего содержащегося потока.
Выбрасывает:
NullPointerException - если конец последнего содержащегося потока ещё не достигнут и b равно null.
IndexOutOfBoundsException - если конец последнего содержащегося потока ещё не достигнут и off отрицательно, len отрицательно или len больше b.length - off
IOException - если произошла ошибка ввода-вывода.
См. также:
  • InputStream.read()

close

public void close() throws IOException
Закрывает этот входной поток и освобождает все системные ресурсы, связанные с ним. Закрытый SequenceInputStream не может выполнять операции ввода и не может быть открыт повторно.

Если этот поток был создан на основе перечисления, все оставшиеся элементы извлекаются из перечисления и закрываются до возврата из метода close.

Определён в:
close в интерфейсе AutoCloseable
Определён в:
close в интерфейсе Closeable
Переопределяет:
close в классе InputStream
Выбрасывает:
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