Spec-Zone.ru › OpenJDK 25

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

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

Конструктор Описание
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

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

nullReader, of, read, read, readAllAsString, readAllLines, skip, transferTo

Методы, объявленные в классе 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 — значение типа 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/LineNumberReader.html

Spec-Zone.ru

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