Spec-Zone.ru › OpenJDK 17

Класс FilterInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
Все реализованные интерфейсы:
Closeable, AutoCloseable
Прямые известные подклассы:
BufferedInputStream, CheckedInputStream, CipherInputStream, DataInputStream, DeflaterInputStream, DigestInputStream, InflaterInputStream, LineNumberInputStream, ProgressMonitorInputStream, PushbackInputStream
public class FilterInputStream extends InputStream
Класс FilterInputStream содержит другой поток ввода, который используется в качестве основного источника данных, возможно, преобразуя данные по ходу или предоставляя дополнительную функциональность. Класс FilterInputStream сам по себе просто переопределяет все методы InputStream версиями, которые передают все запросы в содержащийся поток ввода. Подклассы FilterInputStream могут дополнительно переопределять некоторые из этих методов и также могут предоставлять дополнительные методы и поля.
С:
1.0

Краткое описание полей

Модификатор и тип Поле Описание
protected InputStream in
Поток ввода для фильтрации.

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

FilterInputStream(InputStream in)
Модификатор Конструктор Описание
protected
Создает FilterInputStream, назначив аргумент in полю this.in, чтобы запомнить его для последующего использования.

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

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

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

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

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

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

Подробное описание полей

in

protected volatile InputStream in
Поток ввода, который необходимо отфильтровать.

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

FilterInputStream

protected FilterInputStream(InputStream in)
Создает FilterInputStream, присваивая аргументу in поле this.in, чтобы запомнить его для последующего использования.
Параметры:
in - базовый поток ввода или null, если этот экземпляр должен быть создан без базового потока.

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

read

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

Этот метод просто выполняет in.read() и возвращает результат.

Унаследовано от:
read в классе InputStream
Возвращает:
следующий байт данных или -1 при достижении конца потока.
Выбрасывает:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • in

read

public int read(byte[] b) throws IOException
Считывает до b.length байт данных из этого потока ввода в массив байтов. Этот метод блокируется до тех пор, пока некоторые данные не станут доступны.

Этот метод просто выполняет вызов read(b, 0, b.length) и возвращает результат. Важно, чтобы он не выполнял in.read(b); определенные подклассы FilterInputStream зависят от стратегии реализации, которая фактически используется.

Переопределяет:
read в классе InputStream
Параметры:
b - буфер, в который считываются данные.
Возвращает:
общее количество прочитанных байтов в буфер или -1 если больше нет данных из-за достижения конца потока.
Выбрасывает:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • read(byte[], int, int)

read

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

Этот метод просто выполняет in.read(b, off, len) и возвращает результат.

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

skip

public long skip(long n) throws IOException
Пропускает и игнорирует n байт данных из потока ввода. Метод skip может по разным причинам пропустить меньшее количество байтов, возможно, 0. Возвращается фактическое количество пропущенных байтов.

Этот метод просто выполняет in.skip(n).

Переопределяет:
skip в классе InputStream
Параметры:
n - количество байтов для пропуска.
Возвращает:
фактическое количество пропущенных байтов.
Выбрасывает:
IOException - если in.skip(n) выбрасывает исключение IOException.
См. также:
  • InputStream.skipNBytes(long)

available

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

Этот метод возвращает результат вызова in.available().

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

close

public void close() throws IOException
Закрывает этот поток ввода и освобождает любые системные ресурсы, связанные с потоком. Этот метод просто выполняет in.close().
Унаследовано от:
close в интерфейсе AutoCloseable
Унаследовано от:
close в интерфейсе Closeable
Переопределяет:
close в классе InputStream
Выбрасывает:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • in

mark

public void mark(int readlimit)
Помечает текущую позицию в этом потоке ввода. Последующий вызов метода reset переносит этот поток в последнюю помеченную позицию, чтобы последующие чтения повторно считывали те же байты.

Аргумент readlimit сообщает этому потоку ввода, что разрешается прочитать столько байтов, прежде чем позиция метки станет недействительной.

Этот метод просто выполняет in.mark(readlimit).

Переопределяет:
mark в классе InputStream
Параметры:
readlimit - максимальное ограничение байтов, которые можно прочитать, прежде чем позиция метки станет недействительной.
См. также:
  • in
  • reset()

reset

public void reset() throws IOException
Переносит этот поток в позицию на момент последнего вызова метода mark в этом потоке ввода.

Этот метод просто выполняет in.reset().

Метки потока предназначены для ситуаций, когда необходимо прочитать немного вперед, чтобы увидеть, что находится в потоке. Часто это проще всего сделать, вызвав какой-либо общий анализатор. Если поток является типом, обрабатываемым анализатором, он просто продолжает работать с ним. Если поток не является этим типом, анализатор должен выбросить исключение при сбое. Если это произойдет в пределах readlimit байтов, это позволит внешнему коду сбросить поток и попробовать другой анализатор.

Переопределяет:
reset в классе InputStream
Выбрасывает:
IOException - если поток не был помечен или метка была аннулирована.
См. также:
  • in
  • mark(int)

markSupported

public boolean markSupported()
Проверяет, поддерживает ли этот поток ввода методы mark и reset. Этот метод просто выполняет in.markSupported().
Переопределяет:
markSupported в классе InputStream
Возвращает:
true если этот тип потока поддерживает методы mark и reset; false в противном случае.
См. также:
  • in
  • InputStream.mark(int)
  • InputStream.reset()

© 1993, 2021, 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/17/docs/api/java.base/java/io/FilterInputStream.html

Spec-Zone.ru

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