Spec-Zone.ru › OpenJDK 25

Класс 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

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

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

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/SequenceInputStream.html

Spec-Zone.ru

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