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

Методы

Модификатор и типМетодОписание
intavailable()

Возвращает приблизительное количество байтов, которые можно считать (или пропустить) из текущего базового потока ввода без блокировки следующей вызовом метода для текущего базового потока ввода. Следующий вызов может быть выполнен той же или другой нитью. Одно чтение или пропуск такого количества байтов не заблокирует, но может прочитать или пропустить меньше байтов.

voidclose()

Закрывает этот поток ввода и освобождает любые системные ресурсы, связанные с потоком.

intread()

Считывает следующий байт данных из этого потока ввода.

intread​(byte[] b, int off, int len)

Считывает до len байтов данных из этого потока ввода в массив байтов.

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

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

Методы, объявленные в классе java.lang.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

Считывает следующий байт данных из этого потока ввода. Байты возвращаются как целое число в диапазоне от 0 до 255. Если байт недоступен из-за достижения конца потока, возвращается значение -1. Этот метод блокируется до тех пор, пока данные ввода не станут доступными, не будет обнаружен конец потока или не будет выброшено исключение.

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

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

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException

Считывает до len байтов данных из этого потока ввода в массив байтов. Если len не равно нулю, метод блокируется, пока не станет доступным хотя бы 1 байт ввода; в противном случае байты не считываются, и возвращается 0.

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

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

close

public void close()
           throws IOException

Закрывает этот поток ввода и освобождает любые системные ресурсы, связанные с потоком. Закрытый поток ввода не может выполнять операции ввода и не может быть повторно открыт.

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

Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Переопределяет:
close в классе InputStream
Исключения:
IOException - если произошла ошибка ввода-вывода.

© 1993, 2020, 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/11/docs/api/java.base/java/io/SequenceInputStream.html

Spec-Zone .ru
спецификации, руководства, описания, API