|
Spec-Zone .ru
спецификации, руководства, описания, API
|
java.io.BufferedInputStreamBufferedInputStream добавляет функциональность к другому входному потоку а именно, возможность буферизовать ввод и поддерживать mark и reset методы. Когда BufferedInputStream создается, внутренний буферный массив создается. Поскольку байты от потока читаются или пропускаются, внутренний буфер снова наполняется по мере необходимости от содержавшего входного потока, много байтов за один раз. mark работа помнит точку во входном потоке и reset работа вызывает все чтение байтов начиная с нового mark работа, которая будет перечитана перед новыми байтами, берется от содержавшего входного потока. public classBufferedInputStreamextends FilterInputStream { protected byte[]buf; protected intcount= 0; protected intpos= 0; protected intmarkpos= -1; protected intmarklimit= 0; publicBufferedInputStream(InputStream in); publicBufferedInputStream(InputStream in, int size); public intread() throws IOException; public intread(byte[] b) throws IOException, NullPointerException; public intread(byte[] b, int off, int len) throws IOException, NullPointerException, IndexOutOfBoundsException; public longskip(long n) throws IOException; public intavailable() throws IOException; public voidmark(int readlimit); public voidreset() throws IOException; public booleanmarkSupported(); }
22.10.1 protected byte[]
buf;
Внутренний буферный массив. Когда необходимо это может быть заменено другим массивом различного размера.
22.10.2 protected int
count = 0;
Это значение всегда находится в диапазоне 0 через buf.length; элементы buf[0] через buf[count-1] содержите буферизованные входные данные, полученные из базового входного потока.
22.10.3 protected int
pos = 0;
Это значение всегда находится в диапазоне 0 через count. Если это - меньше чем count, тогда buf[pos] следующий байт, который будет предоставлен как входной; если это равно count, тогда следующее read или skip работа потребует, чтобы больше байтов было считано из содержавшего входного потока.
22.10.4 protected int
markpos = -1;
Это значение всегда находится в диапазоне -1 через pos. Если нет никакой отмеченной позиции во входном потоке, это поле -1. Если есть отмеченная позиция во входном потоке, то buf[markpos] первый байт, который будет предоставлен как входной после a reset работа. Если markpos не -1, тогда все байты от позиций buf[markpos] через buf[pos-1] должен остаться в буферном массиве (хотя они могут быть перемещены в другое место в буферном массиве с подходящими корректировками значений count, pos, и markpos); они не могут быть отброшены только после того как различие между pos и markpos превышает marklimit.
22.10.5 protected int
marklimit;
Всякий раз, когда различие между pos и markpos превышает marklimit, тогда метка может быть отброшена, устанавливая markpos к -1.
22.10.6 public
BufferedInputStream(InputStream in)
Этот конструктор инициализирует недавно создаваемый BufferedInputStream сохраняя его параметр, входной поток in, для более позднего использования. Внутренний буферный массив создается и сохранен в buf.
22.10.7 public
BufferedInputStream(InputStream in, int size)
Этот конструктор инициализирует недавно создаваемый BufferedInputStream сохраняя его параметр, входной поток in, для более позднего использования. Внутренний буферный массив длины size создается и сохранен в buf.
22.10.8 public int
read() throws IOException
См. общий контракт read метод InputStream (§22.3.1).
Переопределения read метод FilterInputStream (§22.9.3).
22.10.9 public int
read(byte[] b)
throws IOException, NullPointerException
См. общий контракт read метод InputStream (§22.3.2).
Переопределения read метод FilterInputStream (§22.9.4).
22.10.10 public int
read(byte[] b, int off, int len)
throws IOException, NullPointerException, IndexOutOfBoundsException
См. общий контракт read метод InputStream (§22.3.3).
Переопределения read метод FilterInputStream (§22.9.5).
22.10.11 public long
skip(long n) throws IOException
См. общий контракт skip метод InputStream (§22.3.4).
Переопределения skip метод FilterInputStream (§22.9.6).
22.10.12 public int
available() throws IOException
См. общий контракт available метод InputStream (§22.3.5).
Переопределения available метод FilterInputStream (§22.9.7).
22.10.13 public void
mark(int readlimit)
Поле marklimit устанавливается равный параметру и markpos устанавливается равный pos
Переопределения mark метод FilterInputStream (§22.9.9).
22.10.14 public void
reset() throws IOException
См. общий контракт reset метод InputStream (§22.3.8).
Если markpos -1 (никакая метка не была установлена, или метка была лишена законной силы), IOException бросается. Иначе, pos устанавливается равный markpos.
Переопределения reset метод FilterInputStream (§22.9.10).
22.10.15 public boolean
markSupported()
Этот метод возвраты true (a BufferedInputStream всегда поддерживает mark).
Переопределения markSupported метод FilterInputStream (§22.9.11).
Содержание | Предыдущий | Следующий | Индекс
Спецификация языка Java (HTML, сгенерированный Блинчиком "сюзет" Pelouch 24 февраля 1998)
Авторское право © Sun Microsystems, Inc 1996 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к doug.kramer@sun.com