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

22.7 Класс java.io.StringBufferInputStream

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

public class StringBufferInputStream extends InputStream {
	protected String buffer;
	protected int pos;
	protected int count;
	public StringBufferInputStream(String s)
		throws NullPointerException;
	public int read();
	public int read(byte[] b, int off, int len)
		throws NullPointerException, IndexOutOfBoundsException;
	public long skip(long n);
	public int available();
	public void reset();
}
Отметьте что байты, считанные из a StringBufferInputStream младший разряд восемь битов каждого символа в строке; старший разряд восемь битов каждого символа игнорируется.

22.7.1 protected String buffer;

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

22.7.2 protected int pos;

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

22.7.3 protected int count;

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

22.7.4 public StringBufferInputStream(String s)
throws NullPointerException

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

22.7.5 public int read()

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

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

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

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

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

22.7.7 public long skip(long n)

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

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

22.7.8 public int available()

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

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

22.7.9 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