Spec-Zone.ru › OpenJDK 17

Класс 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

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

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

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 байтов данных из этого потока входных данных.

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

close, markSupported, read

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

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

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)

© 1993, 2021, 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/17/docs/api/java.base/java/io/LineNumberInputStream.html

Spec-Zone.ru

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