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

22.3 Класс java.io.InputStream

Входной поток делает входные байты доступными из некоторого источника.

public abstract class InputStream {
	public abstract int read() throws IOException;
	public int read(byte[] b)
	throws IOException, NullPointerException;
	public int read(byte[] b, int off, int len)
		throws IOException, NullPointerException,
			IndexOutOfBoundsException;
	public long skip(long n) throws IOException;
	public int available() throws IOException;
	public void close() throws IOException;
	public void mark(int readlimit);
	public void reset() throws IOException;
	public boolean markSupported();
}

22.3.1 public abstract int read() throws IOException

Общий контракт read это, это читает один байт из входного потока. Байт возвращается как целое число в диапазоне 0 к 255 (0x00-0xff). Если никакой байт не доступен, потому что поток в конце файла, значения -1 возвращается.

Этот метод блоки до входных данных доступен, конец файла обнаруживается, или исключение выдается.

Если байт не может быть считан ни по какой причине кроме конца файла, IOException бросается. В частности IOException бросается, если входной поток был закрыт (§22.3.6).

22.3.2 public int read(byte[] b)
throws IOException, NullPointerException

Общий контракт read(b) это, это читает некоторое число байтов от входного потока и хранит их в буферный массив b. Число байтов фактически чтение возвращается как целое число.

Этот метод блоки до входных данных доступен, конец файла обнаруживается, или исключение выдается.

Если b null, a NullPointerException бросается.

Если длина b нуль, тогда никакие байты не читаются и 0 возвращается; иначе, есть попытка считать по крайней мере один байт. Если никакой байт не доступен, потому что поток в конце файла, значения -1 возвращается; иначе, по крайней мере один байт читается и сохранен в b.

Первое побайтовое чтение сохранено в элемент b[0], следующий в b[1], и так далее. Число чтения байтов, самое большее, равно длине b. Позвольте k быть числом байтов фактически чтение; эти байты будут сохранены в элементах b[0] через b[k-1], отъезд элементов b[k] через b[b.length-1] незатронутый.

Если первый байт не может быть считан ни по какой причине кроме конца файла, то IOException бросается. В частности IOException бросается, если входной поток был закрыт (§22.15.5).

read(b) метод для класса InputStream имеет тот же самый эффект как:

read(b, 0, b.length)

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

Общий контракт read(b, off, len) это, это читает некоторое число байтов от входного потока и хранит их в буферный массив b. Попытка предпринимается, чтобы читать столько, сколько len байты, но меньшее число могут быть считаны, возможно обнулить. Число байтов фактически чтение возвращается как целое число.

Этот метод блоки до входных данных доступен, конец файла обнаруживается, или исключение выдается.

Если b null, a NullPointerException бросается.

Если off отрицательно, или len отрицательно, или off+len больше чем длина массива b, тогда IndexOutOfBoundsException бросается.

Если len нуль, тогда никакие байты не читаются и 0 возвращается; иначе, есть попытка считать по крайней мере один байт. Если никакой байт не доступен, потому что поток в конце файла, значения -1 возвращается; иначе, по крайней мере один байт читается и сохранен в b.

Первое побайтовое чтение сохранено в элемент b[off], следующий в b[off+1], и так далее. Число чтения байтов, самое большее, равно len. Позвольте k быть числом байтов фактически чтение; эти байты будут сохранены в элементах b[off] через b[off+k-1], отъезд элементов b[off+k] через b[off+len-1] незатронутый.

В каждом случае, элементах b[0] через b[off] и элементы b[off+len] через b[b.length-1] незатронуты.

Если первый байт не может быть считан ни по какой причине кроме конца файла, то IOException бросается. В частности IOException бросается, если входной поток был закрыт (§22.15.5).

read(b, off, len) метод для класса InputStream простые вызовы метод read() неоднократно. Если первое такой призывать результаты IOException, то исключение возвращается из звонка read(b, off, len) метод. Если любой последующий звонок read() результаты в a IOException, исключение поймано и обработано, как будто это был конец файла; чтение байтов до той точки сохранено в b и число чтения байтов перед исключением произошло, возвращается.

22.3.4 public long skip(long n) throws IOException

Общий контракт skip это, это предпринимает попытку перескочить n байты данных от входного потока, отбрасывая пропущенные байты. Однако, это может перескочить через некоторое меньшее число байтов, возможно обнулить. Это может следовать из любого из многих условий; достижение конца файла прежде n байты были пропущены, только одна возможность. Фактическое число пропущенных байтов возвращается.

22.3.5 public int available() throws IOException

Общий контракт available это, это возвращает целое число k; следующая вызывающая сторона метода для этого входного потока, который мог бы быть тем же самым потоком или другим потоком, может тогда ожидать быть в состоянии считать или пропустить до k байты, не блокируя (ожидающий входных данных, чтобы прибыть).

available метод для класса InputStream всегда возвраты 0.

22.3.6 public int close() throws IOException

Общий контракт close это, это закрывает входной поток. Закрытый поток не может выполнить входные операции и не может быть вновь открыт.

close метод для класса InputStream ничего не делает и просто возвращается.

22.3.7 public void mark(int readlimit)

Общий контракт mark это, если метод markSupported возвраты true, поток так или иначе помнит все чтение байтов после звонка mark и готов предоставлять те те же самые байты снова если и всякий раз, когда метод reset вызывается. Однако, поток не обязан помнить любые данные вообще если больше чем readlimit байты читаются из потока прежде reset вызывается.

mark метод для класса InputStream ничего не делает.

22.3.8 public void reset() throws IOException

Общий контракт reset :

Метод reset для класса InputStream всегда броски IOException.

22.3.9 public boolean markSupported()

Общий контракт markSupported это, если это возвращается true, тогда поток поддерживает mark (§22.3.7) и reset (§22.3.8) операции. Для любого приведенного примера InputStream, этот метод должен последовательно возвращать то же самое значение истинности всякий раз, когда это вызывают.

markSupported метод для класса InputStream возвраты false.


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

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

free hit counter