Класс SequenceInputStream
- Все реализуемые интерфейсы:
Closeable, AutoCloseable
public class SequenceInputStream extends InputStream
SequenceInputStream представляет собой логическое объединение других входных потоков. Сначала ему передаётся упорядоченная коллекция входных потоков, и чтение выполняется из первого потока до достижения конца файла, затем — из второго и так далее, пока не будет достигнут конец файла в последнем из содержащихся потоков.- Начиная с:
- 1.0
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SequenceInputStream |
Инициализирует вновь созданный SequenceInputStream, сохраняя два аргумента, которые будут считываться по порядку: сначала s1, затем s2, чтобы предоставить байты для чтения из этого SequenceInputStream. |
SequenceInputStream |
Инициализирует вновь созданный SequenceInputStream, сохраняя аргумент, который должен быть Enumeration, возвращающим объекты с типом времени выполнения InputStream. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
available() |
Возвращает оценку количества байтов, которые можно прочитать (или пропустить) из текущего базового входного потока без блокировки при следующем вызове метода для текущего базового входного потока. |
void |
close() |
Закрывает этот входной поток и освобождает все системные ресурсы, связанные с ним. |
int |
read() |
Считывает следующий байт данных из входного потока. |
int |
read |
Считывает из этого входного потока до len байтов данных в массив байтов. |
Методы, объявленные в классе InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
Подробное описание конструкторов
SequenceInputStream
public SequenceInputStream(Enumeration<? extends InputStream> e)
SequenceInputStream, сохраняя аргумент, который должен быть Enumeration, возвращающим объекты с типом времени выполнения InputStream. Входные потоки, возвращаемые перечислением, будут считываться по порядку, чтобы предоставить байты для чтения из этого SequenceInputStream. После исчерпания каждого входного потока из перечисления он закрывается вызовом метода close.- Параметры:
-
e— перечисление входных потоков. - См. также:
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— если произошла ошибка ввода-вывода. - См. также:
close
public void close() throws IOException
SequenceInputStream не может выполнять операции ввода и не может быть открыт повторно. Если этот поток был создан на основе перечисления, перед возвратом метода close из перечисления запрашиваются все оставшиеся элементы и закрываются.
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеInputStream - Вызывает исключение:
-
IOException— если произошла ошибка ввода-вывода.
© 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