Spec-Zone .ru
спецификации, руководства, описания, API
|
java.io.LineNumberInputStream
LineNumberInputStream
добавляет функциональность к другому входному потоку, а именно, возможность считать строки. Когда LineNumberInputStream
создается, счетчик номера строки обнуляется. Поскольку байты от потока читаются или пропускаются, счетчик постепенно увеличивается всякий раз, когда разделитель строки (\n
, \r
, или \r\n
) встречается. Такие разделители строки также преобразовываются в сингл '\n'
символ. Метод getLineNumber
возвращает текущую стоимость счетчика, и метод setLineNumber
устанавливает в противоречии с данным целочисленным значением. Если содержавший входной поток поддерживает mark
работа, затем так делает LineNumberInputStream
; mark
работа помнит счетчик номера строки и reset
работа устанавливает в противоречии со значением, которое помнят mark
работа. public classLineNumberInputStream
extends FilterInputStream { publicLineNumberInputStream
(InputStream in); public intread
() throws IOException; public intread
(byte[] b) throws IOException, NullPointerException; public intread
(byte[] b, int off, int len)
throws IOException, NullPointerException, IndexOutOfBoundsException; public longskip
(long n) throws IOException; public intavailable
() throws IOException; public voidmark
(int readlimit); public voidreset
() throws IOException; public intgetLineNumber
(); public voidsetLineNumber
(int lineNumber); }
22.12.1 public
LineNumberInputStream
(InputStream in)
Этот конструктор инициализирует недавно создаваемый LineNumberInputStream
сохраняя его параметр, входной поток in
, для более позднего использования.
22.12.2 public int
read
() throws IOException
См. общий контракт read
метод InputStream
(§22.3.1).
Поскольку байты читаются из содержавшего входного потока, разделители строки распознаются и считаются. Для каждого разделителя строки, распознанного в содержавшем входном потоке, единственном символе '\n'
возвращается.
Переопределения read
метод FilterInputStream
(§22.9.3).
22.12.3 public int
read
(byte[] b)
throws IOException, NullPointerException
См. общий контракт read
метод InputStream
(§22.3.2).
Поскольку байты читаются из содержавшего входного потока, разделители строки распознаются и считаются. Для каждого разделителя строки, распознанного в содержавшем входном потоке, единственном символе '\n'
возвращается.
Переопределения read
метод FilterInputStream
(§22.9.4).
22.12.4 public int
read
(byte[] b, int off, int len)
throws IOException, NullPointerException, IndexOutOfBoundsException
См. общий контракт read
метод InputStream
(§22.3.3).
Поскольку байты читаются из содержавшего входного потока, разделители строки распознаются и считаются. Для каждого разделителя строки, распознанного в содержавшем входном потоке, единственном символе '\n'
возвращается.
Переопределения read
метод FilterInputStream
(§22.9.5).
22.12.5 public long
skip
(long n) throws IOException
См. общий контракт skip
метод InputStream
(§22.3.4).
Поскольку байты читаются из содержавшего входного потока, разделители строки распознаются и считаются. Каждый разделитель строки, распознанный в содержавшем входном потоке, как полагают, является единственным пропущенным байтом, даже если это - последовательность \r\n
.
Переопределения skip
метод FilterInputStream
(§22.9.6).
22.12.6 public int
available
() throws IOException
См. общий контракт available
метод InputStream
(§22.3.5).
Отметьте, что, если содержавший входной поток в состоянии предоставить k, вводит символы без блокирования, LineNumberInputStream
может гарантировать только, что обеспечил символы без блокирования, потому что k символов от содержавшего входного потока мог бы состоять из \r\n
пары, которые будут преобразованы в только '\n'
символы.
Переопределения available
метод FilterInputStream
(§22.9.7).
22.12.7 public void
mark
(int readlimit)
См. общий контракт mark
метод InputStream
(§22.3.7).
Отмечание точки во входном потоке помнит текущий номер строки, поскольку это было бы возвращено getLineNumber
(§22.12.9).
Переопределения mark
метод FilterInputStream
(§22.9.9).
22.12.8 public void
reset
() throws IOException
См. общий контракт reset
метод InputStream
(§22.3.8).
Сброс входного потока к предыдущей точке также сбрасывает номер строки к значению, которое это имело в отмеченной точке.
Переопределения reset
метод FilterInputStream
(§22.9.10).
22.12.9 public int
getLineNumber
()
Текущий номер строки возвращается. Это количество зависит от k, числа разделителей строки, с которыми встречаются начиная с нового возникновения одного из следующих трех видов событий:
setLineNumber
метод был новым, позвольте n быть параметром, которому дали setLineNumber
; тогда текущий номер строки.
reset
метод был новым, м., которому позволяют, быть номером строки, которым помнили mark
; тогда текущий номер строки.
LineNumberInputStream
было новым (то есть, ни один из других видов события произошли), тогда текущий номер строки является k. 0
поскольку символы первой строки читаются, и становится 1
после того, как разделитель строки для первой строки был считан. 22.12.10 public void
setLineNumber
(int lineNumber)
Текущий номер строки устанавливается равный параметру.
Содержание | Предыдущий | Следующий | Индекс
Спецификация языка Java (HTML, сгенерированный Блинчиком "сюзет" Pelouch 24 февраля 1998)
Авторское право © Sun Microsystems, Inc 1996 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к doug.kramer@sun.com