Класс LineNumberInputStream
- Все реализованные интерфейсы:
-
Closeable,AutoCloseable
@Deprecated public class LineNumberInputStream extends FilterInputStream
Строка — это последовательность байтов, заканчивающаяся символом возврата каретки ('\r'), символом новой строки ('\n') или символом возврата каретки, за которым сразу следует символ перевода строки. Во всех трех случаях символы, завершающие строку, возвращаются как один символ новой строки.
Номер строки начинается с 0 и увеличивается на 1, когда метод read возвращает символ новой строки.
- С момента:
- 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
int в диапазоне 0 до 255. Если байт недоступен, потому что достигнут конец потока, возвращается значение -1. Этот метод блокируется до тех пор, пока данные ввода не станут доступны, не будет обнаружен конец потока или не будет выброшено исключение. Метод read класса LineNumberInputStream вызывает метод read базового потока входных данных. Он проверяет наличие символов возврата каретки и символов новой строки в вводе и соответственно изменяет текущий номер строки. Символ возврата каретки или символ возврата каретки, за которым следует символ новой строки, оба преобразуются в один символ новой строки.
- Overrides:
-
readв классеFilterInputStream - Возвращает:
- следующий байт данных или
-1, если достигнут конец этого потока. - Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
read
public int read(byte[] b, int off, int len) throws IOException
len байтов данных из этого потока входных данных в массив байтов. Этот метод блокируется до тех пор, пока не появятся какие-либо входные данные. Метод read класса LineNumberInputStream многократно вызывает метод read без аргументов для заполнения массива байтов.
- Overrides:
-
readв классеFilterInputStream - Параметры:
-
b- буфер, в который считываются данные. -
off- начальный смещение данных. -
len- максимальное количество считанных байтов. - Возвращает:
- общее количество байтов, считанных в буфер, или
-1, если больше нет данных, потому что достигнут конец этого потока. - Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
skip
public long skip(long n) throws IOException
n байтов данных из этого потока входных данных. Метод skip может по разным причинам пропустить меньшее количество байтов, возможно, 0. Возвращается фактическое количество пропущенных байтов. Если n отрицательно, байты не пропускаются. Метод skip класса LineNumberInputStream создаёт массив байтов, а затем многократно считывает в него данные до тех пор, пока не будет прочитано n байтов или не будет достигнут конец потока.
- Overrides:
-
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' символа.
- Overrides:
-
availableв классеFilterInputStream - Возвращает:
- количество байтов, которые могут быть прочитаны из этого потока входных данных без блокировки.
- Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
mark
public void mark(int readlimit)
reset перемещает этот поток в последнее помеченное положение, чтобы последующие чтения повторно считывали те же байты. Метод mark класса LineNumberInputStream запоминает текущий номер строки в частной переменной, а затем вызывает метод mark базового потока входных данных.
- Overrides:
-
markв классеFilterInputStream - Параметры:
-
readlimit- максимальное ограничение байтов, которые могут быть прочитаны, прежде чем положение метки станет недействительным. - См. также:
reset
public void reset() throws IOException
mark был в последний раз вызван для этого потока входных данных. Метод reset класса LineNumberInputStream устанавливает номер строки в номер строки в момент вызова метода mark, а затем вызывает метод reset базового потока входных данных.
Метки потока предназначены для использования в ситуациях, когда вам нужно немного прочитать вперёд, чтобы увидеть, что находится в потоке. Часто это проще всего сделать, вызвав какой-либо общий парсер. Если поток обрабатывается парсером, он просто спокойно работает дальше. Если поток не относится к тому типу, который обрабатывает парсер, парсер должен выбросить исключение при сбое, что, если это произойдёт в пределах байтов readlimit, позволяет внешнему коду восстановить поток и попробовать другой парсер.
- Overrides:
-
resetв классеFilterInputStream - Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/LineNumberInputStream.html