Класс LineNumberReader

Все реализованные интерфейсы:
Closeable, AutoCloseable, Readable
public class LineNumberReader
extends BufferedReader

Буферизированный поток ввода символов, который отслеживает номера строк. Этот класс определяет методы setLineNumber(int) и getLineNumber() для установки и получения текущего номера строки соответственно.

По умолчанию нумерация строк начинается с 0. Это число увеличивается при каждом знаке окончания строки при чтении данных и может быть изменено вызовом setLineNumber(int). Однако обратите внимание, что setLineNumber(int) фактически не изменяет текущую позицию в потоке; он только изменяет значение, которое будет возвращено getLineNumber().

Строка считается законченной любым из следующих символов: символ новой строки ('\n'), возврат каретки ('\r') или возврат каретки, непосредственно за которым следует символ новой строки.

С:
1.1

Поля

Поля, объявленные в классе java.io.Reader

lock

Краткое описание конструкторов

Конструктор Описание
LineNumberReader​(Reader in)

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

LineNumberReader​(Reader in, int sz)

Создает новый читатель с нумерацией строк, читающий символы в буфер заданного размера.

Краткое описание методов

Модификатор и тип Метод Описание
int getLineNumber()

Получить текущий номер строки.

void mark​(int readAheadLimit)

Пометить текущую позицию в потоке.

int read()

Прочитать один символ.

int read​(char[] cbuf, int off, int len)

Прочитать символы в часть массива.

String readLine()

Прочитать строку текста.

void reset()

Сбросить поток до последней отметки.

void setLineNumber​(int lineNumber)

Установить текущий номер строки.

long skip​(long n)

Пропустить символы.

Методы, объявленные в классе java.io.BufferedReader

lines, markSupported, ready

Методы, объявленные в классе java.io.Reader

close, nullReader, read, read, transferTo

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

LineNumberReader

public LineNumberReader(Reader in)

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

Параметры:
in - Объект Reader, обеспечивающий базовый поток

LineNumberReader

public LineNumberReader(Reader in,
                        int sz)

Создает новый читатель с нумерацией строк, читающий символы в буфер заданного размера.

Параметры:
in - Объект Reader, обеспечивающий базовый поток
sz - Целое число, задающее размер буфера

Подробное описание методов

setLineNumber

public void setLineNumber(int lineNumber)

Установить текущий номер строки.

Параметры:
lineNumber - Целое число, задающее номер строки
См. также:
getLineNumber()

getLineNumber

public int getLineNumber()

Получить текущий номер строки.

Возвращает:
Текущий номер строки
См. также:
setLineNumber(int)

read

public int read()
         throws IOException

Прочитать один символ. Знаки окончания строки сжимаются в один символ новой строки ('\n'). Всякий раз, когда считывается знак окончания строки, текущий номер строки увеличивается.

Переопределяет:
read в классе BufferedReader
Возвращает:
Прочитанный символ или -1, если достигнут конец потока
Исключения:
IOException - Если произошла ошибка ввода-вывода

read

public int read(char[] cbuf,
                int off,
                int len)
         throws IOException

Прочитать символы в часть массива. Всякий раз, когда считывается знак окончания строки, текущий номер строки увеличивается.

Переопределяет:
read в классе BufferedReader
Параметры:
cbuf - Буфер назначения
off - Смещение, с которого начать запись символов
len - Максимальное количество символов для чтения
Возвращает:
Количество прочитанных байтов или -1, если достигнут конец потока
Исключения:
IOException - Если произошла ошибка ввода-вывода
IndexOutOfBoundsException - Если произошла ошибка ввода-вывода

readLine

public String readLine()
                throws IOException

Прочитать строку текста. Всякий раз, когда считывается знак окончания строки, текущий номер строки увеличивается.

Переопределяет:
readLine в классе BufferedReader
Возвращает:
Строка, содержащая содержимое строки, не включая знаки окончания строки, или null, если достигнут конец потока
Исключения:
IOException - Если произошла ошибка ввода-вывода
См. также:
Files.readAllLines(java.nio.file.Path, java.nio.charset.Charset)

skip

public long skip(long n)
          throws IOException

Пропустить символы.

Переопределяет:
skip в классе BufferedReader
Параметры:
n - Количество символов для пропуска
Возвращает:
Количество фактически пропущенных символов
Исключения:
IOException - Если произошла ошибка ввода-вывода
IllegalArgumentException - Если n отрицательно

mark

public void mark(int readAheadLimit)
          throws IOException

Пометить текущую позицию в потоке. Последующие вызовы reset() попытаются переместить поток в эту точку и также правильно сбросят номер строки.

Переопределяет:
mark в классе BufferedReader
Параметры:
readAheadLimit - Предел числа символов, которые можно прочитать, сохраняя метку. После чтения этого количества символов попытка сброса потока может завершиться неудачей.
Исключения:
IOException - Если произошла ошибка ввода-вывода

reset

public void reset()
           throws IOException

Сбросить поток до последней отметки.

Переопределяет:
reset в классе BufferedReader
Исключения:
IOException - Если поток не был помечен или метка была аннулирована

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/LineNumberReader.html

Spec-Zone .ru
спецификации, руководства, описания, API