Класс LineNumberReader
- Все реализованные интерфейсы:
Closeable, AutoCloseable, Readable
public class LineNumberReader extends BufferedReader
setLineNumber(int) и getLineNumber() для установки и получения текущего номера строки соответственно. По умолчанию нумерация строк начинается с 0. Это число увеличивается при каждом символе окончания строки по мере чтения данных, а также в конце потока, если последний символ в потоке не является символом окончания строки. Это число можно изменить вызовом setLineNumber(int). Однако следует учитывать, что setLineNumber(int) фактически не изменяет текущую позицию в потоке; он лишь изменяет значение, возвращаемое getLineNumber().
Строка считается завершенной символом перевода строки ('\n'), символом возврата каретки ('\r'), символом возврата каретки, за которым непосредственно следует символ перевода строки, любым из перечисленных выше символов окончания строки, за которым следует конец потока, либо концом потока, которому не предшествует другой символ окончания строки.
- Начиная с:
- 1.1
Краткое описание полей
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
LineNumberReader |
Создает новый считыватель с нумерацией строк, используя размер буфера ввода по умолчанию. |
LineNumberReader |
Создает новый считыватель с нумерацией строк, считывающий символы в буфер указанного размера. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getLineNumber() |
Возвращает текущий номер строки. |
void |
mark |
Помечает текущую позицию в потоке. |
int |
read() |
Считывает один символ. |
int |
read |
Считывает символы в часть массива. |
String |
readLine() |
Считывает строку текста. |
void |
reset() |
Сбрасывает поток до последней установленной отметки. |
void |
setLineNumber |
Устанавливает текущий номер строки. |
Методы, объявленные в классе BufferedReader
close, lines, markSupported, ready
Методы, объявленные в классе Reader
nullReader, of, read, read, readAllAsString, readAllLines, skip, transferTo
Подробное описание конструкторов
LineNumberReader
public LineNumberReader(Reader in)
- Параметры:
-
in— объект Reader, предоставляющий базовый поток
LineNumberReader
public LineNumberReader(Reader in, int sz)
- Параметры:
-
in— объект Reader, предоставляющий базовый поток -
sz— значение типа int, задающее размер буфера
Подробное описание методов
setLineNumber
public void setLineNumber(int lineNumber)
- Параметры:
-
lineNumber— значение типа int, задающее номер строки - См. также:
getLineNumber
public int getLineNumber()
- Возвращает:
- Текущий номер строки
- См. также:
read
public int read() throws IOException
- Переопределяет:
-
readв классеBufferedReader - Возвращает:
- Считанный символ или -1, если достигнут конец потока
- Вызывает:
-
IOException— если произошла ошибка ввода-вывода
read
public int read(char[] cbuf, int off, int len) throws IOException
Если len равно нулю, символы не считываются и возвращается 0; в противном случае предпринимается попытка считать хотя бы один символ. Если символы недоступны, поскольку достигнут конец потока, возвращается значение -1; в противном случае считывается хотя бы один символ и сохраняется в cbuf.
Символы окончания строки заменяются одним символом перевода строки ('\n'). Текущий номер строки увеличивается при считывании символа окончания строки или при достижении конца потока, если последний символ в потоке не является символом окончания строки.
- Переопределяет:
-
readв классеBufferedReader - Параметры:
-
cbuf— буфер назначения -
off— смещение, с которого начинается сохранение символов -
len— максимальное количество считываемых символов - Возвращает:
- Количество считанных символов или -1, если достигнут конец потока
- Вызывает:
-
IndexOutOfBoundsException— еслиoffотрицательно, илиlenотрицательно, илиlenбольше, чемcbuf.length - off -
IOException— если произошла ошибка ввода-вывода
readLine
public String readLine() throws IOException
- Переопределяет:
-
readLineв классеBufferedReader - Возвращает:
- Строку String, содержащую содержимое строки без символов окончания строки, или
null, если достигнут конец потока - Вызывает:
-
IOException— если произошла ошибка ввода-вывода - См. также:
mark
public void mark(int readAheadLimit) throws IOException
- Переопределяет:
-
markв классеBufferedReader - Параметры:
-
readAheadLimit— ограничение на количество символов, которые можно считать с сохранением отметки. После считывания такого количества символов попытка сбросить поток может завершиться неудачей. - Вызывает:
-
IOException— если произошла ошибка ввода-вывода
reset
public void reset() throws IOException
- Переопределяет:
-
resetв классеBufferedReader - Вызывает:
-
IOException— если для потока не была установлена отметка или если отметка стала недействительной
© 1993, 2025, 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/25/docs/api/java.base/java/io/LineNumberReader.html