Spec-Zone .ru
спецификации, руководства, описания, API
Содержание | Предыдущий | Следующий | Индекс

22.6 Класс java.io.ByteArrayInputStream

A ByteArrayInputStream содержит внутренний буфер, который содержит байты, которые могут быть считаны из потока. Внутренний счетчик отслеживает следующий байт, который будет предоставлен read метод. См. также StringBufferInputStream (§22.7).

public class ByteArrayInputStream extends InputStream {
	protected byte[] buf;
	protected int pos;
	protected int count;
	public ByteArrayInputStream(byte[] buf);
	public ByteArrayInputStream(byte[] buf,
			int offset, int length);
	public int read()
		throws NullPointerException, IndexOutOfBoundsException;
	public int read(byte[] b, int off, int len)
		throws NullPointerException, IndexOutOfBoundsException;
	public long skip(long n);
	public int available();
	public void reset();
}

22.6.1 protected byte[] buf;

Массив байтов, которому предоставил создатель потока. Элементы buf[0] через buf[count-1] единственные байты, которые могут когда-либо читаться из потока; элемент buf[pos] следующий байт, который будет считан.

22.6.2 protected int pos;

Это значение должно всегда быть неотрицательным и не больше чем значение count. Следующий байт, который будет считан из этого потока, будет buf[pos].

22.6.3 protected int count;

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

22.6.4 public ByteArrayInputStream(byte[] buf)

Этот конструктор инициализирует недавно создаваемый ByteArrayInputStream так, чтобы это использовало buf как его буферный массив. Начальное значение pos 0 и начальное значение count длина buf.

22.6.5 public ByteArrayInputStream(byte[] buf,
int offset, int length)

Этот конструктор инициализирует недавно создаваемый ByteArrayInputStream так, чтобы это использовало buf как его буферный массив. Начальное значение pos offset и начальное значение count offset+len.

Отметьте это, если байты просто читаются из получающегося входного потока, элементов buf[pos] через buf[pos+len-1] будет считан; однако, если a reset работа (§22.6.10) выполняется, тогда байты buf[0] через buf[pos-1] тогда станет доступным для ввода.

22.6.6 public int read()
throws NullPointerException, IndexOutOfBoundsException

Если pos равняется count, тогда -1 возвращается, чтобы указать на конец файла. Иначе, значение buf[pos]&0xff возвращается; как раз перед возвратом, pos постепенно увеличивается 1.

Реализации read метод InputStream (§22.3.1).

22.6.7 public int read(byte[] b, int off, int len)
throws NullPointerException, IndexOutOfBoundsException

Если pos равняется count, тогда -1 возвращается, чтобы указать на конец файла. Иначе, число k из байтов чтение равно меньшему из len и count-pos. Если k положительно, тогда байты buf[pos] через buf[pos+k-1] копируются в b[off] через b[off+k-1] таким образом выполняемый System.arraycopy (§20.18.16). Значение k добавляется в pos и k возвращается.

Переопределения read метод InputStream (§22.3.3).

22.6.8 public long skip(long n)

Фактическое число k из байтов, которые будут пропущены, равно меньшему из n и count-pos. Значение k добавляется в pos и k возвращается.

Переопределения skip метод InputStream (§22.3.4).

22.6.9 public int available()

Количество count-pos возвращается.

Переопределения available метод InputStream (§22.3.5).

22.6.10 public void reset()

Значение pos устанавливается в 0.

Переопределения reset метод InputStream (§22.3.8).


Содержание | Предыдущий | Следующий | Индекс

Спецификация языка Java (HTML, сгенерированный Блинчиком "сюзет" Pelouch 24 февраля 1998)
Авторское право © Sun Microsystems, Inc 1996 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к doug.kramer@sun.com

free hit counter