Spec-Zone.ru › OpenJDK 24

Класс LineNumberReader

java.lang.Object
java.io.Reader
java.io.BufferedReader
java.io.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)
Установить текущий номер строки.

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

close, lines, markSupported, ready

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

nullReader, of, read, read, skip, 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
Читает символы в часть массива. Этот метод будет блокировать, пока не будут доступны какие-либо входные данные, не произойдет ошибка ввода-вывода или не будет достигнут конец потока.

Если 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
Прочитать строку текста. Разделители строк сжимаются в единый символ новой строки ('\n'). Текущий номер строки увеличивается всякий раз, когда читается разделитель строки или при достижении конца потока, если последний символ в потоке не является разделителем строки.
Переопределяет:
readLine в классе BufferedReader
Возвращает:
Строка, содержащая содержимое строки, не включая символы окончания строки, или null, если достигнут конец потока
Исключение:
IOException - Если произошла ошибка ввода-вывода
См. также:
  • Files.readAllLines(java.nio.file.Path, java.nio.charset.Charset)

mark

public void mark(int readAheadLimit) throws IOException
Пометить текущую позицию в потоке. Последующие вызовы reset() попытаются переместить поток в эту точку и также сбросят номер строки соответствующим образом.
Переопределяет:
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API