Класс ImageInputStreamImpl

Все реализованные интерфейсы:
Closeable, DataInput, AutoCloseable, ImageInputStream
Непосредственные известные подклассы:
FileCacheImageInputStream, FileImageInputStream, ImageOutputStreamImpl, MemoryCacheImageInputStream
public abstract class ImageInputStreamImpl
extends Object
implements ImageInputStream

Абстрактный класс, реализующий интерфейс ImageInputStream. Этот класс разработан для уменьшения количества методов, которые должны быть реализованы подклассами.

В частности, этот класс обрабатывает большинство или все детали интерпретации порядка байтов, буферизации, отметки/сброса, удаления, закрытия и удаления.

Поля

Модификатор и тип Поле Описание
protected int bitOffset

Текущее битовое смещение в потоке.

protected ByteOrder byteOrder

Порядок байтов потока в виде экземпляра перечисления java.nio.ByteOrder, где ByteOrder.BIG_ENDIAN обозначает сетевой порядок байтов, а ByteOrder.LITTLE_ENDIAN — обратный порядок.

protected long flushedPos

Позиция до которой данные могут быть удалены.

protected long streamPos

Текущая позиция чтения в потоке.

Конструкторы

Конструктор Описание
ImageInputStreamImpl()

Создаёт ImageInputStreamImpl.

Методы

Модификатор и тип Метод Описание
protected void checkClosed()

Выбрасывает IOException, если поток закрыт.

protected void finalize()

Устарело.

Метод finalize устарел.

boolean isCached()

По умолчанию возвращает false.

boolean isCachedFile()

По умолчанию возвращает false.

boolean isCachedMemory()

По умолчанию возвращает false.

long length()

Возвращает -1L для указания того, что длина потока неизвестна.

void mark()

Помещает текущую позицию потока в стек отмеченных позиций.

abstract int read()

Читает один байт из потока и возвращает его как int между 0 и 255.

int read​(byte[] b)

Удобный метод, вызывающий read(b, 0, b.length).

abstract int read​(byte[] b, int off, int len)

Читает до len байтов из потока и сохраняет их в b, начиная с индекса off.

void reset()

Сбрасывает текущую позицию байтов и битов потока из стека отмеченных позиций.

int skipBytes​(int n)

Перемещает текущую позицию потока, вызвав seek(getStreamPosition() + n).

long skipBytes​(long n)

Перемещает текущую позицию потока, вызвав seek(getStreamPosition() + n).

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

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

Методы, объявленные в интерфейсе javax.imageio.stream.ImageInputStream

close, flush, flushBefore, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, seek, setBitOffset, setByteOrder

Поля

byteOrder

protected ByteOrder byteOrder

Порядок байтов потока как экземпляр перечисления java.nio.ByteOrder, где ByteOrder.BIG_ENDIAN обозначает сетевой порядок байтов, а ByteOrder.LITTLE_ENDIAN обозначает обратный порядок. По умолчанию значение равно ByteOrder.BIG_ENDIAN.

streamPos

protected long streamPos

Текущая позиция чтения в потоке. Подклассы отвечают за поддержание этого значения актуальным после любого переопределённого метода, изменяющего позицию чтения.

bitOffset

protected int bitOffset

Текущий битовый сдвиг в потоке. Подклассы отвечают за поддержание этого значения актуальным после любого переопределённого метода, изменяющего битовый сдвиг.

flushedPos

protected long flushedPos

Позиция, до которой данные могут быть удалены. Перемещение к меньшей позиции запрещено. flushedPos всегда будет >= 0.

Конструкторы

ImageInputStreamImpl

public ImageInputStreamImpl()

Конструирует ImageInputStreamImpl.

Методы

checkClosed

protected final void checkClosed()
                          throws IOException

Выбрасывает IOException если поток закрыт. Подклассы могут вызывать этот метод из любых методов, требующих, чтобы поток не был закрыт.

Выбрасывает:
IOException - если поток закрыт.

read

public abstract int read()
                  throws IOException

Считывает один байт из потока и возвращает его как int в диапазоне от 0 до 255. Если достигнут конец файла (EOF), возвращает -1.

Подклассы должны предоставить реализацию для этого метода. Реализация подкласса должна обновить позицию потока перед выходом.

Битовый сдвиг в потоке должен быть сброшен до нуля перед чтением.

Определено в:
read в интерфейсе ImageInputStream
Возвращает:
значение следующего байта в потоке или -1 если достигнут EOF.
Выбрасывает:
IOException - если поток закрыт.

read

public int read(byte[] b)
         throws IOException

Удобный метод, вызывающий read(b, 0, b.length).

Битовый сдвиг в потоке сбрасывается до нуля перед чтением.

Определено в:
read в интерфейсе ImageInputStream
Параметры:
b - массив байтов для записи.
Возвращает:
количество фактически прочитанных байтов или -1 для обозначения EOF.
Выбрасывает:
NullPointerException - если b равен null.
IOException - если произошла ошибка ввода-вывода.

read

public abstract int read(byte[] b,
                         int off,
                         int len)
                  throws IOException

Считывает до len байтов из потока и записывает их в b начиная с индекса off. Если из-за достижения конца потока (EOF) невозможно считать байты, возвращает -1.

Битовый сдвиг в потоке должен быть сброшен до нуля перед чтением.

Подклассы должны предоставить реализацию для этого метода. Реализация подкласса должна обновить позицию потока перед выходом.

Определено в:
read в интерфейсе ImageInputStream
Параметры:
b - массив байтов для записи.
off - начальная позиция в b для записи.
len - максимальное количество байтов для чтения.
Возвращает:
количество фактически прочитанных байтов или -1 для обозначения EOF.
Выбрасывает:
IndexOutOfBoundsException - если off отрицательное, len отрицательное или off + len больше b.length.
NullPointerException - если b равно null.
IOException - если произошла ошибка ввода-вывода.

length

public long length()

Возвращает -1L для обозначения того, что длина потока неизвестна. Подклассы должны переопределить этот метод, чтобы предоставить информацию о фактической длине.

Определено в:
length в интерфейсе ImageInputStream
Возвращает:
-1L для обозначения неизвестной длины.

skipBytes

public int skipBytes(int n)
              throws IOException

Перемещает текущую позицию потока, вызвав seek(getStreamPosition() + n).

Битовый сдвиг сбрасывается до нуля.

Определено в:
skipBytes в интерфейсе DataInput
Определено в:
skipBytes в интерфейсе ImageInputStream
Параметры:
n - количество байтов для перехода вперёд.
Возвращает:
объект int представляющий количество пропущенных байтов.
Выбрасывает:
IOException - если getStreamPosition выбрасывает IOException при вычислении начальной или конечной позиции.

skipBytes

public long skipBytes(long n)
               throws IOException

Перемещает текущую позицию потока, вызвав seek(getStreamPosition() + n).

Битовый сдвиг сбрасывается до нуля.

Определено в:
skipBytes в интерфейсе ImageInputStream
Параметры:
n - количество байтов для перехода вперёд.
Возвращает:
объект long представляющий количество пропущенных байтов.
Выбрасывает:
IOException - если getStreamPosition выбрасывает IOException при вычислении начальной или конечной позиции.

mark

public void mark()

Помещает текущую позицию потока в стек помеченных позиций.

Определено в:
mark в интерфейсе ImageInputStream

reset

public void reset()
           throws IOException

Сбрасывает текущие байтовую и битовую позиции потока из стека помеченных позиций.

Будет выброшено исключение IOException если предыдущая помеченная позиция находится в удалённой части потока.

Определено в:
reset в интерфейсе ImageInputStream
Выбрасывает:
IOException - если произошла ошибка ввода-вывода.

isCached

public boolean isCached()

Реализация по умолчанию возвращает false. Подклассы должны переопределить её, если они кэшируют данные.

Определено в:
isCached в интерфейсе ImageInputStream
Возвращает:
true если этот ImageInputStream кэширует данные.
См. также:
ImageInputStream.isCachedMemory(), ImageInputStream.isCachedFile()

isCachedMemory

public boolean isCachedMemory()

Реализация по умолчанию возвращает false. Подклассы должны переопределить её, если они кэшируют данные в оперативной памяти.

Определено в:
isCachedMemory в интерфейсе ImageInputStream
Возвращает:
true если этот ImageInputStream кэширует данные в оперативной памяти.
См. также:
ImageInputStream.isCached(), ImageInputStream.isCachedFile()

isCachedFile

public boolean isCachedFile()

Реализация по умолчанию возвращает false. Подклассы должны переопределить её, если они кэшируют данные в временном файле.

Определено в:
isCachedFile в интерфейсе ImageInputStream
Возвращает:
true если этот ImageInputStream кэширует данные в временном файле.
См. также:
ImageInputStream.isCached(), ImageInputStream.isCachedMemory()

finalize

@Deprecated(since="9")
protected void finalize()
                 throws Throwable
Устарело.
Метод finalize устарел. Подклассы, переопределяющие finalize для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки и удаления переопределённого метода finalize. При переопределении метода finalize, его реализация должна явно гарантировать, что super.finalize() вызывается как описано в Object.finalize(). См. спецификацию Object.finalize() для получения дополнительной информации о вариантах миграции.

Завершает работу этого объекта перед сборкой мусора. Метод close используется для закрытия любых открытых источников ввода. Этот метод не должен вызываться из кода приложения.

Переопределяет:
finalize в классе Object
Выбрасывает:
Throwable - если произошла ошибка во время завершения работы родительского класса.
См. также:
WeakReference, PhantomReference

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/imageio/stream/ImageInputStreamImpl.html

Spec-Zone .ru
спецификации, руководства, описания, API