Класс 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
mark |
Отмечает текущую позицию в этом входном потоке. |
boolean |
markSupported() |
Проверяет, поддерживает ли этот входной поток методы mark и reset. |
static InputStream |
nullInputStream() |
Возвращает новый InputStream, который не считывает байты. |
int |
read |
Считывает некоторое количество байтов из входного потока и сохраняет их в буферном массиве b. |
byte[] |
readAllBytes() |
Считывает все оставшиеся байты из входного потока. |
int |
readNBytes |
Считывает из входного потока указанное количество байтов в заданный массив байтов. |
byte[] |
readNBytes |
Считывает из входного потока до указанного количества байтов. |
void |
reset() |
Перемещает этот поток к позиции, на которой он находился в момент последнего вызова метода mark для этого входного потока. |
long |
skip |
Пропускает и отбрасывает n байтов данных из этого входного потока. |
void |
skipNBytes |
Пропускает и отбрасывает ровно n байтов данных из этого входного потока. |
long |
transferTo |
Считывает все байты из этого входного потока и записывает их в заданный выходной поток в порядке считывания. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода для этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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.