Класс 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') или символ возврата каретки, за которым сразу следует символ новой строки.
- С тех пор:
- JDK1.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
close, lines, markSupported, ready Методы, унаследованные от класса java.io.Reader
read, read Методы, унаследованные от класса 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- Если произошла ошибка ввода-вывода
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.