Spec-Zone.ru › OpenJDK 27

Класс 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

Краткое описание полей

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

lock
Модификатор и тип Поле Описание
protected Object 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)
Устанавливает текущий номер строки.

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

close, lines, markSupported, ready
Модификатор и тип Метод Описание
void close()
Закрывает поток и освобождает связанные с ним системные ресурсы.
Stream<String> lines()
Возвращает Stream, элементы которого представляют собой строки, считанные из этого BufferedReader.
boolean markSupported()
Сообщает, поддерживает ли этот поток операцию mark(), что действительно так.
boolean ready()
Сообщает, готов ли этот поток к чтению.

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

nullReader, of, read, read, readAllAsString, readAllLines, skip, transferTo
Модификатор и тип Метод Описание
static Reader nullReader()
Возвращает новый Reader, который не считывает символы.
static Reader of(CharSequence cs)
Возвращает Reader, считывающий символы из CharSequence.
int read(char[] cbuf)
Считывает символы в массив.
int read(CharBuffer target)
Пытается считать символы в указанный символьный буфер.
String readAllAsString()
Считывает все оставшиеся символы в строку.
List<String> readAllLines()
Считывает все оставшиеся символы в виде строк текста.
long skip(long n)
Пропускает символы.
long transferTo(Writer out)
Считывает все символы из этого средства чтения и записывает их в указанное средство записи в порядке считывания.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

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()

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
Возвращает:
Строку String, содержащую текст строки без символов завершения строки, или null, если достигнут конец потока
Выбрасывает:
IOException — если возникает ошибка ввода-вывода
См. также:
  • Files.readAllLines(Path, Charset)

mark

public void mark(int readAheadLimit) throws IOException
Устанавливает отметку в текущей позиции потока. Последующие вызовы reset() будут пытаться переместить поток в эту позицию, а также соответствующим образом сбросят номер строки.
Переопределяет:
mark в классе BufferedReader
Параметры:
readAheadLimit — ограничение на количество символов, которые можно считать с сохранением отметки. После считывания этого количества символов попытка сбросить поток может завершиться неудачей.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода

reset

public void reset() throws IOException
Возвращает поток к последней отметке.
Переопределяет:
reset в классе BufferedReader
Выбрасывает:
IOException — если отметка для потока не установлена или была аннулирована

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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