Spec-Zone .ru
спецификации, руководства, описания, API
|
java.io.BufferedInputStream
BufferedInputStream
добавляет функциональность к другому входному потоку а именно, возможность буферизовать ввод и поддерживать mark
и reset
методы. Когда BufferedInputStream
создается, внутренний буферный массив создается. Поскольку байты от потока читаются или пропускаются, внутренний буфер снова наполняется по мере необходимости от содержавшего входного потока, много байтов за один раз. mark
работа помнит точку во входном потоке и reset
работа вызывает все чтение байтов начиная с нового mark
работа, которая будет перечитана перед новыми байтами, берется от содержавшего входного потока. public classBufferedInputStream
extends 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