Класс 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) | Установить текущий номер строки. |
long | skip(long n) | Пропустить символы. |
Методы, объявленные в классе java.io.BufferedReader
lines, markSupported, ready Методы, объявленные в классе java.io.Reader
close, nullReader, read, read, 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 Прочитать символы в часть массива. Всякий раз, когда считывается знак окончания строки, текущий номер строки увеличивается.
- Переопределяет:
-
readв классеBufferedReader - Параметры:
-
cbuf- Буфер назначения -
off- Смещение, с которого начать запись символов -
len- Максимальное количество символов для чтения - Возвращает:
- Количество прочитанных байтов или -1, если достигнут конец потока
- Исключения:
-
IOException- Если произошла ошибка ввода-вывода -
IndexOutOfBoundsException- Если произошла ошибка ввода-вывода
readLine
public String readLine()
throws IOException Прочитать строку текста. Всякий раз, когда считывается знак окончания строки, текущий номер строки увеличивается.
- Переопределяет:
-
readLineв классеBufferedReader - Возвращает:
- Строка, содержащая содержимое строки, не включая знаки окончания строки, или null, если достигнут конец потока
- Исключения:
-
IOException- Если произошла ошибка ввода-вывода - См. также:
Files.readAllLines(java.nio.file.Path, java.nio.charset.Charset)
skip
public long skip(long n)
throws IOException Пропустить символы.
- Переопределяет:
-
skipв классеBufferedReader - Параметры:
-
n- Количество символов для пропуска - Возвращает:
- Количество фактически пропущенных символов
- Исключения:
-
IOException- Если произошла ошибка ввода-вывода -
IllegalArgumentException- Еслиnотрицательно
mark
public void mark(int readAheadLimit)
throws IOException Пометить текущую позицию в потоке. Последующие вызовы reset() попытаются переместить поток в эту точку и также правильно сбросят номер строки.
- Переопределяет:
-
markв классеBufferedReader - Параметры:
-
readAheadLimit- Предел числа символов, которые можно прочитать, сохраняя метку. После чтения этого количества символов попытка сброса потока может завершиться неудачей. - Исключения:
-
IOException- Если произошла ошибка ввода-вывода
reset
public void reset()
throws IOException Сбросить поток до последней отметки.
- Переопределяет:
-
resetв классеBufferedReader - Исключения:
-
IOException- Если поток не был помечен или метка была аннулирована
© 1993, 2020, 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/11/docs/api/java.base/java/io/LineNumberReader.html