|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class FilterInputStream extends InputStream
FilterInputStream содержит некоторый другой входной поток, который это использует в качестве его основного источника данных, возможно преобразовывая данные по пути или обеспечивая дополнительную функциональность. class FilterInputStream непосредственно просто переопределения все методы InputStream с версиями, которые передают все запросы к содержавшему входному потоку. Подклассы FilterInputStream май далее переопределяет некоторые из этих методов и может также обеспечить дополнительные методы и поля.| Модификатор и Тип | Поле и Описание |
|---|---|
protected InputStream |
в
Входной поток, который будет фильтроваться.
|
| Модификатор | Конструктор и Описание |
|---|---|
protected |
FilterInputStream(InputStream in)
Создает a
FilterInputStream присваивая параметр in к полю this.in чтобы помнить это для более позднего использования. |
| Модификатор и Тип | Метод и Описание |
|---|---|
int |
available()
Возвращает оценку числа байтов, которые могут быть считаны (или перескочиться) от этого входного потока, не блокируя следующей вызывающей стороной метода для этого входного потока.
|
void |
close()
Завершения этот входной поток и выпуски любые системные ресурсы связались с потоком.
|
void |
mark(int readlimit)
Отмечает текущую позицию в этом входном потоке.
|
boolean |
markSupported()
Тесты, если этот входной поток поддерживает
mark и reset методы. |
int |
read()
Читает следующий байт данных от этого входного потока.
|
int |
read(byte[] b)
Чтения до
byte.length байты данных от этого входного потока в массив байтов. |
int |
read(byte[] b, int off, int len)
Чтения до
len байты данных от этого входного потока в массив байтов. |
void |
reset()
Репозиции этот поток к позиции в это время
mark метод был последним, обращался к этому входному потоку. |
long |
skip(long n)
Перескакивает и отбрасывает
n байты данных от входного потока. |
protected volatile InputStream in
protected FilterInputStream(InputStream in)
FilterInputStream присваивая параметр in к полю this.in чтобы помнить это для более позднего использования.in - базовый входной поток, или null если этот экземпляр должен быть создан без базового потока.public int read()
throws IOException
int в диапазоне 0 к 255. Если никакой байт не доступен, потому что конец потока был достигнут, значение -1 возвращается. Этот метод блоки до входных данных доступен, конец потока обнаруживается, или исключение выдается. Этот метод просто выполняет in.read() и возвращает результат.
read в class InputStream-1 если конец потока достигается.IOException - если ошибка ввода-вывода происходит.inpublic int read(byte[] b)
throws IOException
byte.length байты данных от этого входного потока в массив байтов. Этот метод блоки до некоторого ввода доступен. Этот метод просто выполняет вызов read(b, 0, b.length) и возвращает результат. Важно, чтобы это не сделало in.read(b) вместо этого; определенные подклассы FilterInputStream зависьте от стратегии реализации, фактически используемой.
read в class InputStreamb - буфер, в который читаются данные.-1 если нет больше данных, потому что конец потока был достигнут.IOException - если ошибка ввода-вывода происходит.read(byte[], int, int)public int read(byte[] b,
int off,
int len)
throws IOException
len байты данных от этого входного потока в массив байтов. Если len не нуль, блоки метода, пока некоторый ввод не доступен; иначе, никакие байты не читаются и 0 возвращается. Этот метод просто выполняет in.read(b, off, len) и возвращает результат.
read в class InputStreamb - буфер, в который читаются данные.off - запуск смещается в целевом массиве blen - максимальное количество байтов читало.-1 если нет больше данных, потому что конец потока был достигнут.NullPointerException - Если b null.IndexOutOfBoundsException - Если off отрицательно, len отрицательно, или len больше чем b.length - offIOException - если ошибка ввода-вывода происходит.inpublic long skip(long n)
throws IOException
n байты данных от входного потока. skip метод, для множества причин, может закончить тем, что перескочил через некоторое меньшее число байтов, возможно 0. Фактическое число пропущенных байтов возвращается. Этот метод просто выполняет in.skip(n).
skip в class InputStreamn - число байтов, которые будут пропущены.IOException - если поток не поддерживает, ищут, или если некоторая другая ошибка ввода-вывода происходит.public int available()
throws IOException
Этот метод возвращает результат in.available ().
available в class InputStreamIOException - если ошибка ввода-вывода происходит.public void close()
throws IOException
in.close().close в интерфейсе Closeableclose в интерфейсе AutoCloseableclose в class InputStreamIOException - если ошибка ввода-вывода происходит.inpublic void mark(int readlimit)
reset репозиции метода этот поток в последней отмеченной позиции так, чтобы последующие чтения, перечитанные те же самые байты. readlimit параметр говорит этому входному потоку признавать, что много байтов, которые будут считаны перед позицией метки, лишаются законной силы.
Этот метод просто выполняет in.mark(readlimit).
mark в class InputStreamreadlimit - максимальный предел байтов, которые могут быть считаны перед позицией метки, становится недопустимым.in, reset()public void reset()
throws IOException
mark метод был последним, обращался к этому входному потоку. Этот метод просто выполняет in.reset().
Потоковые метки предназначаются, чтобы использоваться в ситуациях, где Вы должны читать вперед немного, чтобы видеть то, что находится в потоке. Часто это наиболее легко делается, вызывая некоторый общий синтаксический анализатор. Если поток имеет тип, обработанный синтаксическим анализом, это только двигается с пыхтением вперед счастливо. Если поток не имеет того типа, синтаксический анализатор должен бросить исключение, когда это перестало работать. Если это происходит в пределах readlimit байтов, это позволяет внешнему коду сбрасывать поток и пробовать другой синтаксический анализатор.
reset в class InputStreamIOException - если поток не был отмечен или если метка была лишена законной силы.in, mark(int)public boolean markSupported()
mark и reset методы. Этот метод просто выполняет in.markSupported().markSupported в class InputStreamtrue если этот потоковый тип поддерживает mark и reset метод; false иначе.in, InputStream.mark(int), InputStream.reset()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92