Класс 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 |
Установить текущий номер строки. |
Методы, объявленные в классе java.io.BufferedReader
close, lines, markSupported, ready
Методы, объявленные в классе java.io.Reader
nullReader, of, read, read, skip, transferTo
Подробное описание конструкторов
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
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 - Возвращает:
- Строка, содержащая содержимое строки, не включая символы окончания строки, или
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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/LineNumberReader.html