Spec-Zone.ru › OpenJDK 27

Класс LineNumberInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.io.LineNumberInputStream
Все реализованные интерфейсы:
Closeable, AutoCloseable
@Deprecated public class LineNumberInputStream extends FilterInputStream
Устарел.
Этот класс ошибочно предполагает, что байты адекватно представляют символы. Начиная с JDK 1.1, предпочтительным способом работы с потоками символов является использование новых классов потоков символов, в число которых входит класс для подсчёта номеров строк.
Этот класс представляет собой фильтр входного потока, который дополнительно отслеживает текущий номер строки.

Строка — это последовательность байтов, заканчивающаяся символом возврата каретки ('\r'), символом новой строки ('\n') или символом возврата каретки, за которым непосредственно следует символ перевода строки. Во всех трёх случаях завершающий строку символ или символы возвращаются как один символ новой строки.

Нумерация строк начинается с 0 и увеличивается на 1, когда read возвращает символ новой строки.

Начиная с:
1.0
См. также:
  • LineNumberReader

Краткое описание полей

Поля, объявленные в классе FilterInputStream

in
Модификатор и тип Поле Описание
protected InputStream in
Входной поток, к которому применяется фильтр.

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

Конструктор Описание
LineNumberInputStream(InputStream in)
Устарел.
Создаёт поток ввода с нумерацией строк, который считывает данные из указанного входного потока.

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

Модификатор и тип Метод Описание
int available()
Устарел.
Возвращает количество байтов, которые можно прочитать из этого входного потока, не блокируя выполнение.
int getLineNumber()
Устарел.
Возвращает текущий номер строки.
void mark(int readlimit)
Устарел.
Помечает текущую позицию в этом входном потоке.
int read()
Устарел.
Считывает следующий байт данных из этого входного потока.
int read(byte[] b, int off, int len)
Устарел.
Считывает до len байтов данных из этого входного потока в массив байтов.
void reset()
Устарел.
Перемещает этот поток в позицию, в которой находился поток при последнем вызове метода mark для этого входного потока.
void setLineNumber(int lineNumber)
Устарел.
Устанавливает номер строки равным указанному значению.
long skip(long n)
Устарел.
Пропускает и отбрасывает n байтов данных из этого входного потока.

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

close, markSupported, read
Модификатор и тип Метод Описание
void close()
Закрывает этот входной поток и освобождает все системные ресурсы, связанные с ним.
boolean markSupported()
Проверяет, поддерживает ли этот входной поток методы mark и reset.
int read(byte[] b)
Считывает до b.length байтов данных из этого входного потока в массив байтов.

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

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
Модификатор и тип Метод Описание
static InputStream nullInputStream()
Возвращает новый InputStream, который не считывает байты.
byte[] readAllBytes()
Считывает все оставшиеся байты из входного потока.
int readNBytes(byte[] b, int off, int len)
Считывает из входного потока указанное количество байтов в заданный массив байтов.
byte[] readNBytes(int len)
Считывает из входного потока до указанного количества байтов.
void skipNBytes(long n)
Пропускает и отбрасывает ровно n байтов данных из этого входного потока.
long transferTo(OutputStream out)
Считывает все байты из этого входного потока и записывает их в заданный выходной поток в порядке считывания.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому.
protected void finalize()
Устарел, будет удалён: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

LineNumberInputStream

public LineNumberInputStream(InputStream in)
Устарел.
Создаёт поток ввода с нумерацией строк, который считывает данные из указанного входного потока.
Параметры:
in — базовый входной поток.

Подробное описание методов

read

public int read() throws IOException
Устарел.
Считывает следующий байт данных из этого входного потока. Значение байта возвращается как int в диапазоне от 0 до 255. Если байт недоступен, поскольку достигнут конец потока, возвращается значение -1. Этот метод блокирует выполнение до тех пор, пока не станут доступны входные данные, не будет обнаружен конец потока или не возникнет исключение.

Метод read класса LineNumberInputStream вызывает метод read базового входного потока. Он проверяет наличие символов возврата каретки и символов новой строки во входных данных и соответствующим образом изменяет текущий номер строки. Символ возврата каретки, а также символ возврата каретки, за которым следует символ новой строки, преобразуются в один символ новой строки.

Переопределяет:
read в классе FilterInputStream
Возвращает:
следующий байт данных или -1, если достигнут конец этого потока.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.
См. также:
  • FilterInputStream.in
  • getLineNumber()

read

public int read(byte[] b, int off, int len) throws IOException
Устарел.
Считывает до len байтов данных из этого входного потока в массив байтов. Этот метод блокирует выполнение до тех пор, пока не станут доступны какие-либо входные данные.

Метод read класса LineNumberInputStream многократно вызывает метод read без аргументов, чтобы заполнить массив байтов.

Переопределяет:
read в классе FilterInputStream
Параметры:
b — буфер, в который считываются данные.
off — начальное смещение данных.
len — максимальное количество считываемых байтов.
Возвращает:
общее количество байтов, считанных в буфер, или -1, если данных больше нет, поскольку достигнут конец этого потока.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.
См. также:
  • read()

skip

public long skip(long n) throws IOException
Устарел.
Пропускает и отбрасывает n байтов данных из этого входного потока. По разным причинам метод skip может пропустить меньшее количество байтов, возможно, 0. Возвращается фактическое количество пропущенных байтов. Если n отрицательно, байты не пропускаются.

Метод skip класса LineNumberInputStream создаёт массив байтов, а затем многократно считывает в него данные, пока не будет считано n байтов или не будет достигнут конец потока.

Переопределяет:
skip в классе FilterInputStream
Параметры:
n — количество байтов, которые нужно пропустить.
Возвращает:
фактическое количество пропущенных байтов.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

setLineNumber

public void setLineNumber(int lineNumber)
Устарел.
Устанавливает номер строки равным указанному значению.
Параметры:
lineNumber — новый номер строки.
См. также:
  • getLineNumber()

getLineNumber

public int getLineNumber()
Устарел.
Возвращает текущий номер строки.
Возвращает:
текущий номер строки.
См. также:
  • setLineNumber(int)

available

public int available() throws IOException
Устарел.
Возвращает количество байтов, которые можно прочитать из этого входного потока, не блокируя выполнение.

Обратите внимание: если базовый входной поток может предоставить k входных символов без блокировки, LineNumberInputStream может гарантировать предоставление без блокировки только k/2 символов, поскольку k символов базового входного потока могут состоять из k/2 пар '\r' и '\n', которые преобразуются всего в k/2 символов '\n'.

Переопределяет:
available в классе FilterInputStream
Возвращает:
количество байтов, которые можно прочитать из этого входного потока, не блокируя выполнение.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

mark

public void mark(int readlimit)
Устарел.
Помечает текущую позицию в этом входном потоке. Последующий вызов метода reset перемещает этот поток к последней помеченной позиции, чтобы при последующих операциях чтения повторно считывались те же байты.

Метод mark класса LineNumberInputStream сохраняет текущий номер строки в закрытой переменной, а затем вызывает метод mark базового входного потока.

Переопределяет:
mark в классе FilterInputStream
Параметры:
readlimit — максимальное количество байтов, которое можно прочитать до того, как позиция метки станет недействительной.
См. также:
  • FilterInputStream.in
  • reset()

reset

public void reset() throws IOException
Устарел.
Перемещает этот поток в позицию, в которой он находился при последнем вызове метода mark для этого входного потока.

Метод reset класса LineNumberInputStream восстанавливает номер строки, сохранённый при вызове метода mark, а затем вызывает метод reset базового входного потока.

Метки потоков предназначены для ситуаций, когда нужно немного прочитать данные вперёд, чтобы понять, что находится в потоке. Часто проще всего сделать это, вызвав универсальный синтаксический анализатор. Если тип потока обрабатывается этим анализатором, он просто продолжает работу. Если поток имеет другой тип, анализатор должен выбросить исключение при сбое; если это происходит в пределах readlimit байтов, внешний код может восстановить исходную позицию потока и попробовать другой анализатор.

Переопределяет:
reset в классе FilterInputStream
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.
См. также:
  • FilterInputStream.in
  • mark(int)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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