Класс LineNumberInputStream
- Все реализованные интерфейсы:
-
Closeable,AutoCloseable
@Deprecated public class LineNumberInputStream extends FilterInputStream
Строка — это последовательность байтов, завершающихся символом возврата каретки ('\r'), символом новой строки ('\n') или символом возврата каретки, непосредственно за которым следует символ перевода строки. Во всех трёх случаях символы, завершающие строку, возвращаются как один символ новой строки.
Номер строки начинается с 0, и увеличивается на 1 при каждом, когда метод read возвращает символ новой строки.
- C момента:
- 1.0
- См. также:
Краткое описание полей
Поля, объявленные в классе java.io.FilterInputStream
in
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
LineNumberInputStream |
Устарело. Создаёт входной поток с номером строки, который читает вход из указанного входного потока. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
available() |
Устарело. Возвращает число байтов, которые могут быть прочитаны из этого входного потока без блокировки. |
int |
getLineNumber() |
Устарело. Возвращает текущий номер строки. |
void |
mark |
Устарело. Помечает текущее положение в этом входном потоке. |
int |
read() |
Устарело. Читает следующий байт данных из этого входного потока. |
int |
read |
Устарело. Читает до len байтов данных из этого входного потока в массив байтов. |
void |
reset() |
Устарело. Перемещает этот поток в положение на момент последнего вызова метода mark для этого входного потока. |
void |
setLineNumber |
Устарело. Устанавливает номер строки в указанное значение. |
long |
skip |
Устарело. Пропускает и игнорирует n байтов данных из этого входного потока. |
Методы, объявленные в классе java.io.FilterInputStream
close, markSupported, read
Методы, объявленные в классе java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
Подробное описание конструкторов
LineNumberInputStream
public LineNumberInputStream(InputStream in)
- Параметры:
-
in- базовый поток ввода.
Подробное описание методов
read
public int read() throws IOException
0 до 255. Если байт недоступен из-за достижения конца потока, возвращается значение -1. Этот метод блокируется до тех пор, пока данные ввода не станут доступны, не будет обнаружен конец потока или не будет брошено исключение. Метод read класса LineNumberInputStream вызывает метод read базового потока ввода. Он проверяет наличие символов возврата каретки и символов новой строки во входных данных и соответственно изменяет текущий номер строки. Символ возврата каретки или символ возврата каретки, за которым следует символ новой строки, оба преобразуются в один символ новой строки.
- Переопределяет:
-
readв классеFilterInputStream - Возвращает:
- следующий байт данных или
-1в случае достижения конца потока. - Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
read
public int read(byte[] b, int off, int len) throws IOException
len байтов данных из этого потока ввода в массив байтов. Этот метод блокируется до тех пор, пока некоторые данные ввода не станут доступны. Метод read класса LineNumberInputStream повторно вызывает метод read без аргументов, чтобы заполнить массив байтов.
- Переопределяет:
-
readв классеFilterInputStream - Параметры:
-
b- буфер, в который считываются данные. -
off- начальный смещение данных. -
len- максимальное количество считанных байтов. - Возвращает:
- общее количество байтов, считанных в буфер, или
-1если больше нет данных из-за достижения конца потока. - Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
skip
public long skip(long n) throws IOException
n байтов данных из этого потока ввода. Метод skip может по разным причинам пропустить меньшее количество байтов, возможно, 0. Возвращается фактическое количество пропущенных байтов. Если n отрицательно, байты не пропускаются. Метод skip класса LineNumberInputStream создаёт массив байтов и затем многократно считывает данные в него, пока не будет прочитано n байтов или не будет достигнут конец потока.
- Переопределяет:
-
skipв классеFilterInputStream - Параметры:
-
n- количество байтов для пропуска. - Возвращает:
- фактическое количество пропущенных байтов.
- Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
setLineNumber
public void setLineNumber(int lineNumber)
- Параметры:
-
lineNumber- новый номер строки. - См. также:
getLineNumber
public int getLineNumber()
- Возвращает:
- текущий номер строки.
- См. также:
available
public int available() throws IOException
Обратите внимание, что если базовый поток ввода может предоставить k входных символов без блокировки, поток LineNumberInputStream может гарантировать предоставление только k/2 символов без блокировки, потому что k символов из базового потока ввода могут состоять из k/2 пар '\r' и '\n', которые преобразуются всего в k/2 '\n' символов.
- Переопределяет:
-
availableв классеFilterInputStream - Возвращает:
- количество байтов, которые можно прочитать из этого потока ввода без блокировки.
- Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
mark
public void mark(int readlimit)
reset переместит этот поток в последнюю помеченную позицию, так что последующие чтения повторно прочитают те же байты. Метод mark класса LineNumberInputStream запоминает текущий номер строки в личной переменной, а затем вызывает метод mark базового потока ввода.
- Переопределяет:
-
markв классеFilterInputStream - Параметры:
-
readlimit- максимальный предел байтов, которые можно прочитать, прежде чем позиция метки станет недействительной. - См. также:
reset
public void reset() throws IOException
mark для этого потока ввода. Метод reset класса LineNumberInputStream сбрасывает номер строки на номер строки на момент вызова метода mark, а затем вызывает метод reset базового потока ввода.
Метки потоков предназначены для использования в ситуациях, когда вам нужно немного прочитать вперёд, чтобы увидеть, что находится в потоке. Часто это проще всего сделать, вызвав какой-либо общий анализатор. Если поток обрабатывается анализатором, он будет работать без проблем. Если поток не обрабатывается этим типом анализатора, анализатор должен бросить исключение при ошибке, которое, если это произойдёт в пределах readlimit байтов, позволяет внешнему коду сбросить поток и попробовать другой анализатор.
- Переопределяет:
-
resetв классеFilterInputStream - Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
© 1993, 2023, 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/21/docs/api/java.base/java/io/LineNumberInputStream.html