Класс ImageInputStreamImpl
- java.lang.Object
-
- javax.imageio.stream.ImageInputStreamImpl
- Все реализованные интерфейсы:
-
Closeable,DataInput,AutoCloseable,ImageInputStream
- Непосредственные известные подклассы:
-
FileCacheImageInputStream,FileImageInputStream,ImageOutputStreamImpl,MemoryCacheImageInputStream
public abstract class ImageInputStreamImpl extends Object implements ImageInputStream
Абстрактный класс, реализующий интерфейс ImageInputStream. Этот класс разработан для уменьшения количества методов, которые должны быть реализованы подклассами.
В частности, этот класс обрабатывает большинство или все детали интерпретации порядка байтов, буферизации, отметки/сброса, удаления, закрытия и удаления.
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int | bitOffset | Текущее битовое смещение в потоке. |
protected ByteOrder | byteOrder | Порядок байтов потока в виде экземпляра перечисления |
protected long | flushedPos | Позиция до которой данные могут быть удалены. |
protected long | streamPos | Текущая позиция чтения в потоке. |
Конструкторы
| Конструктор | Описание |
|---|---|
ImageInputStreamImpl() | Создаёт |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected void | checkClosed() | Выбрасывает |
protected void | finalize() | Устарело. Метод finalize устарел. |
boolean | isCached() | По умолчанию возвращает false. |
boolean | isCachedFile() | По умолчанию возвращает false. |
boolean | isCachedMemory() | По умолчанию возвращает false. |
long | length() | Возвращает |
void | mark() | Помещает текущую позицию потока в стек отмеченных позиций. |
abstract int | read() | Читает один байт из потока и возвращает его как |
int | read(byte[] b) | Удобный метод, вызывающий |
abstract int | read(byte[] b,
int off,
int len) | Читает до |
void | reset() | Сбрасывает текущую позицию байтов и битов потока из стека отмеченных позиций. |
int | skipBytes(int n) | Перемещает текущую позицию потока, вызвав |
long | skipBytes(long 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