|
Spec-Zone .ru
спецификации, руководства, описания, API
|
@Deprecated public class LineNumberInputStream extends FilterInputStream
Строка является последовательностью байтов, заканчивающихся символом возврата каретки ('\r'), символ новой строки ('\n'), или символ возврата каретки, сопровождаемый сразу символом перевода строки. Во всех трех случаях оконечный знак (и) строки возвращается как единственный символ новой строки.
Номер строки начинается в 0, и постепенно увеличивается 1 когда a read возвращает символ новой строки.
LineNumberReaderв| Конструктор и Описание |
|---|
LineNumberInputStream(InputStream in)
Осуждаемый.
Создает входной поток числа новой строки, который читает его ввод из указанного входного потока.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
int |
available()
Осуждаемый.
Возвращает число байтов, которые могут быть считаны из этого входного потока без блокирования.
|
int |
getLineNumber()
Осуждаемый.
Возвращает текущий номер строки.
|
void |
mark(int readlimit)
Осуждаемый.
Отмечает текущую позицию в этом входном потоке.
|
int |
read()
Осуждаемый.
Читает следующий байт данных от этого входного потока.
|
int |
read(byte[] b, int off, int len)
Осуждаемый.
Чтения до
len байты данных от этого входного потока в массив байтов. |
void |
reset()
Осуждаемый.
Репозиции этот поток к позиции в это время
mark метод был последним, обращался к этому входному потоку. |
void |
setLineNumber(int lineNumber)
Осуждаемый.
Устанавливает номер строки в указанный параметр.
|
long |
skip(long n)
Осуждаемый.
Перескакивает и отбрасывает
n байты данных от этого входного потока. |
close, markSupported, readpublic LineNumberInputStream(InputStream in)
in - базовый входной поток.public int read()
throws IOException
int в диапазоне 0 к 255. Если никакой байт не доступен, потому что конец потока был достигнут, значение -1 возвращается. Этот метод блоки до входных данных доступен, конец потока обнаруживается, или исключение выдается. read метод LineNumberInputStream вызовы read метод базового входного потока. Это проверяет на возвраты каретки и символы новой строки во вводе, и изменяет текущий номер строки как соответствующий. Символ возврата каретки или возврат каретки, сопровождаемый символом новой строки, оба преобразовываются в единственный символ новой строки.
read в class FilterInputStream-1 если конец этого потока достигается.IOException - если ошибка ввода-вывода происходит.FilterInputStream.in, getLineNumber()public int read(byte[] b,
int off,
int len)
throws IOException
len байты данных от этого входного потока в массив байтов. Этот метод блоки до некоторого ввода доступен. read метод LineNumberInputStream неоднократно вызовы read метод нулевых параметров, чтобы заполнить байтовый массив.
read в class FilterInputStreamb - буфер, в который читаются данные.off - смещение запуска данных.len - максимальное количество байтов читало.-1 если нет больше данных, потому что конец этого потока был достигнут.IOException - если ошибка ввода-вывода происходит.read()public long skip(long n)
throws IOException
n байты данных от этого входного потока. skip метод, для множества причин, может закончить тем, что перескочил через некоторое меньшее число байтов, возможно 0. Фактическое число пропущенных байтов возвращается. Если n отрицательно, никакие байты не пропускаются. skip метод LineNumberInputStream создает байтовый массив и затем неоднократно не читает в это до n байты были считаны, или конец потока был достигнут.
skip в class FilterInputStreamn - число байтов, которые будут пропущены.IOException - если ошибка ввода-вывода происходит.FilterInputStream.inpublic void setLineNumber(int lineNumber)
lineNumber - число новой строки.getLineNumber()public int getLineNumber()
setLineNumber(int)public int available()
throws IOException
Отметьте, что, если базовый входной поток в состоянии предоставить k, вводит символы без блокирования, LineNumberInputStream может гарантировать только, что обеспечил k/2 символов без блокирования, потому что k символов от базового входного потока мог бы состоять из k/2 пар '\r' и '\n', которые преобразовываются в только k/2 '\n' символы.
available в class FilterInputStreamIOException - если ошибка ввода-вывода происходит.FilterInputStream.inpublic void mark(int readlimit)
reset репозиции метода этот поток в последней отмеченной позиции так, чтобы последующие чтения, перечитанные те же самые байты. mark метод LineNumberInputStream помнит текущий номер строки в частной переменной, и затем вызывает mark метод базового входного потока.
mark в class FilterInputStreamreadlimit - максимальный предел байтов, которые могут быть считаны перед позицией метки, становится недопустимым.FilterInputStream.in, reset()public void reset()
throws IOException
mark метод был последним, обращался к этому входному потоку. reset метод LineNumberInputStream сбрасывает номер строки, чтобы быть номером строки в это время mark метод вызвали, и затем вызывает reset метод базового входного потока.
Потоковые метки предназначаются, чтобы использоваться в ситуациях, где Вы должны читать вперед немного, чтобы видеть то, что находится в потоке. Часто это наиболее легко делается, вызывая некоторый общий синтаксический анализатор. Если поток имеет тип, обработанный синтаксическим анализатором, это только двигается с пыхтением вперед счастливо. Если поток не имеет того типа, синтаксический анализатор должен бросить исключение, когда это перестало работать, который, если это происходит в пределах readlimit байтов, позволяет внешнему коду сбрасывать поток и пробовать другой синтаксический анализатор.
reset в class FilterInputStreamIOException - если ошибка ввода-вывода происходит.FilterInputStream.in, mark(int)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92