Spec-Zone.ru › OpenJDK 21

Класс 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 могут, конечно, переопределять любые методы, объявленные или унаследованные от 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. Этот метод блокируется до тех пор, пока данные ввода не станут доступны, не будет обнаружен конец потока или не произойдёт исключение.
Определено в:
read в классе InputStream
Требования к реализации:
Этот метод просто выполняет in.read() и возвращает результат.
Возвращает:
следующий байт данных или -1, если достигнут конец потока.
Выбрасывает:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • in

read

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

read

public int read(byte[] b, int off, int len) throws IOException
Считывает до len байтов данных из этого входного потока в массив байтов. Если len не равно нулю, метод блокируется до тех пор, пока не появятся данные ввода; в противном случае байты не считываются, и возвращается 0.
Переопределяет:
read в классе InputStream
Требования к реализации:
Этот метод просто выполняет in.read(b, off, len) и возвращает результат.
Параметры:
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. Возвращается фактическое количество пропущенных байтов.
Переопределяет:
skip в классе InputStream
Требования к реализации:
Этот метод просто выполняет in.skip(n) и возвращает результат.
Параметры:
n - количество байтов для пропуска.
Возвращает:
фактическое количество пропущенных байтов.
Выбрасывает:
IOException - если in.skip(n) вызывает исключение IOException.
См. также:
  • InputStream.skipNBytes(long)

available

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

close

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

mark

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

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

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

reset

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

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

Переопределяет:
reset в классе InputStream
Требования к реализации:
Этот метод просто выполняет in.reset().
Выбрасывает:
IOException - если для этого потока не была установлена метка или метка была сделана недействительной.
См. также:
  • in
  • mark(int)

markSupported

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

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

Spec-Zone.ru

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