|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class InputStream extends Object implements Closeable
Приложения, которые должны определить подкласс InputStream должен всегда обеспечивать метод, который возвращает следующий байт ввода.
BufferedInputStream, ByteArrayInputStream, DataInputStream, FilterInputStream, read(), OutputStream, PushbackInputStream| Конструктор и Описание |
|---|
InputStream() |
| Модификатор и Тип | Метод и Описание |
|---|---|
int |
available()
Возвращает оценку числа байтов, которые могут быть считаны (или перескочиться) от этого входного потока, не блокируя следующим вызовом метода для этого входного потока.
|
void |
close()
Завершения этот входной поток и выпуски любые системные ресурсы связались с потоком.
|
void |
mark(int readlimit)
Отмечает текущую позицию в этом входном потоке.
|
boolean |
markSupported()
Тесты, если этот входной поток поддерживает
mark и reset методы. |
abstract int |
read()
Читает следующий байт данных от входного потока.
|
int |
read(byte[] b)
Чтения некоторое число байтов от входного потока и хранят их в буферный массив
b. |
int |
read(byte[] b, int off, int len)
Чтения до
len байты данных от входного потока в массив байтов. |
void |
reset()
Репозиции этот поток к позиции в это время
mark метод был последним, обращался к этому входному потоку. |
long |
skip(long n)
Перескакивает и отбрасывает
n байты данных от этого входного потока. |
public abstract int read()
throws IOException
int в диапазоне 0 к 255. Если никакой байт не доступен, потому что конец потока был достигнут, значение -1 возвращается. Этот метод блоки до входных данных доступен, конец потока обнаруживается, или исключение выдается. Подкласс должен обеспечить реализацию этого метода.
-1 если конец потока достигается.IOException - если ошибка ввода-вывода происходит.public int read(byte[] b)
throws IOException
b. Число байтов фактически чтение возвращается как целое число. Этот метод блоки до входных данных доступен, конец файла обнаруживается, или исключение выдается. Если длина b нуль, тогда никакие байты не читаются и 0 возвращается; иначе, есть попытка считать по крайней мере один байт. Если никакой байт не доступен, потому что поток в конце файла, значения -1 возвращается; иначе, по крайней мере один байт читается и сохранен в b.
Первое побайтовое чтение сохранено в элемент b[0], следующий в b[1], и так далее. Число чтения байтов, самое большее, равно длине b. Позвольте k быть числом байтов фактически чтение; эти байты будут сохранены в элементах b[0] через b[k-1], отъезд элементов b[k] через b[b.length-1] незатронутый.
read(b) метод для class InputStream имеет тот же самый эффект как:
read(b, 0, b.length) b - буфер, в который читаются данные.-1 если нет больше данных, потому что конец потока был достигнут.IOException - Если первый байт не может быть считан ни по какой причине кроме конца файла, если входной поток был закрыт, или если некоторая другая ошибка ввода-вывода происходит.NullPointerException - если b null.read(byte[], int, int)public int read(byte[] b,
int off,
int len)
throws IOException
len байты данных от входного потока в массив байтов. Попытка предпринимается, чтобы читать столько, сколько len байты, но меньшее число могут быть считаны. Число байтов фактически чтение возвращается как целое число. Этот метод блоки до входных данных доступен, конец файла обнаруживается, или исключение выдается.
Если 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] незатронуты.
read(b, off, len) метод для class InputStream просто вызывает метод read() неоднократно. Если первое такой призывать результаты IOException, то исключение возвращается из звонка read(b, off, len) метод. Если любой последующий звонок read() результаты в a IOException, исключение поймано и обработано, как будто это был конец файла; чтение байтов до той точки сохранено в b и число чтения байтов перед исключением произошло, возвращается. Реализация по умолчанию этого метода блоки до требуемого количества входных данных len был считан, конец файла обнаруживается, или исключение выдается. Подклассы поощряются обеспечить более эффективную реализацию этого метода.
b - буфер, в который читаются данные.off - запуск смещается в массиве b в котором пишутся данные.len - максимальное количество байтов, чтобы читать.-1 если нет больше данных, потому что конец потока был достигнут.IOException - Если первый байт не может быть считан ни по какой причине кроме конца файла, или если входной поток был закрыт, или если некоторая другая ошибка ввода-вывода происходит.NullPointerException - Если b null.IndexOutOfBoundsException - Если off отрицательно, len отрицательно, или len больше чем b.length - offread()public long skip(long n)
throws IOException
n байты данных от этого входного потока. skip метод, для множества причин, может закончить тем, что перескочил через некоторое меньшее число байтов, возможно 0. Это может следовать из любого из многих условий; достижение конца файла прежде n байты были пропущены, только одна возможность. Фактическое число пропущенных байтов возвращается. Если n отрицательно, никакие байты не пропускаются. skip метод этого class создает байтовый массив и затем неоднократно не читает в него до n байты были считаны, или конец потока был достигнут. Подклассы поощряются обеспечить более эффективную реализацию этого метода. Например, реализация может зависеть от возможности искать.
n - число байтов, которые будут пропущены.IOException - если поток не поддерживает, ищут, или если некоторая другая ошибка ввода-вывода происходит.public int available()
throws IOException
Отметьте что в то время как некоторые реализации InputStream возвратит общее количество байтов в потоке, многие не будут. Это никогда не корректно, чтобы использовать возвращаемое значение этого метода, чтобы выделить буфер, предназначенный, чтобы содержать все данные в этом потоке.
Реализация подкласса этого метода может хотеть бросать IOException если этот входной поток был закрыт, вызывая close() метод.
available метод для class InputStream всегда возвраты 0.
Этот метод должен быть переопределен подклассами.
0 когда это достигает конца входного потока.IOException - если ошибка ввода-вывода происходит.public void close()
throws IOException
close метод InputStream ничего не делает.
close в интерфейсе Closeableclose в интерфейсе AutoCloseableIOException - если ошибка ввода-вывода происходит.public void mark(int readlimit)
reset репозиции метода этот поток в последней отмеченной позиции так, чтобы последующие чтения, перечитанные те же самые байты. readlimit параметры говорят этому входному потоку признавать, что много байтов, которые будут считаны перед позицией метки, лишаются законной силы.
Общий контракт mark это, если метод markSupported возвраты true, поток так или иначе помнит все чтение байтов после звонка mark и готов предоставлять те те же самые байты снова если и всякий раз, когда метод reset вызывается. Однако, поток не обязан помнить любые данные вообще если больше чем readlimit байты читаются из потока прежде reset вызывается.
Отмечание закрытого потока не должно иметь никакого эффекта на поток.
mark метод InputStream ничего не делает.
readlimit - максимальный предел байтов, которые могут быть считаны перед позицией метки, становится недопустимым.reset()public void reset()
throws IOException
mark метод был последним, обращался к этому входному потоку. Общий контракт reset :
markSupported возвраты true, тогда: mark не был вызван, так как поток создавался, или число байтов, считанных из потока с тех пор mark был последнее вызванный, больше чем параметр mark при той последней возможности, затем IOException мог бы быть брошен. IOException не бросается, тогда поток сбрасывается к состоянию так, что все чтение байтов начиная с нового звонка mark (или начиная с запуска файла, если mark не был вызван), будет повторно предоставлен последующим вызывающим сторонам read метод, сопровождаемый любыми байтами, которые иначе были бы следующими входными данными со времени звонка reset. markSupported возвраты false, тогда: reset может бросить IOException. IOException не бросается, тогда поток сбрасывается к фиксированному состоянию, которое зависит от определенного типа входного потока и как это создавалось. Байты, которые будут предоставлены последующим вызывающим сторонам read метод зависит от определенного типа входного потока. Метод reset для class InputStream не делает ничего кроме броска IOException.
IOException - если этот поток не был отмечен или если метка была лишена законной силы.mark(int), IOExceptionpublic boolean markSupported()
mark и reset методы. Действительно ли mark и reset поддерживаются инвариантное свойство определенного входного потокового экземпляра. markSupported метод InputStream возвраты false.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92