Spec-Zone.ru › OpenJDK 8

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

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

protected long flushedPos

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

protected long streamPos

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

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

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

Создаёт ImageInputStreamImpl.

Методы

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

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

void close()

Закрывает поток.

protected void finalize()

Инициализирует этот объект перед сбором мусора.

void flush()

Очищает начальную позицию потока до текущей позиции потока.

void flushBefore(long pos)

Очищает начальную часть потока до указанной позиции.

int getBitOffset()

Возвращает текущий битовый смещение, целое число от 0 до 7 включительно.

ByteOrder getByteOrder()

Возвращает порядок байтов, с которым значения данных будут читаться из этого потока, как экземпляр перечисления java.nio.ByteOrder.

long getFlushedPosition()

Возвращает самую раннюю позицию в потоке, до которой может быть выполнено позиционирование.

long getStreamPosition()

Возвращает текущую байтовую позицию потока.

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.

int readBit()

Считывает один бит из потока и возвращает его как целое число int со значением 0 или 1.

long readBits(int numBits)

Считывает строку битов из потока и возвращает её как long, где первый прочитанный бит становится старшим битом на выходе.

boolean readBoolean()

Считывает байт из потока и возвращает значение boolean равное true если оно ненулевое, false если оно нулевое.

byte readByte()

Считывает байт из потока и возвращает его как значение byte.

void readBytes(IIOByteBuffer buf, int len)

Считывает до len байтов из потока и изменяет предоставленный IIOByteBuffer для указания массива байтов, смещения и длины, где данные могут быть найдены.

char readChar()

Эквивалентно readUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char.

double readDouble()

Считывает 8 байтов из потока и (понятийно) конкатенирует их в соответствии с текущим порядком байтов и возвращает результат как double.

float readFloat()

Считывает 4 байта из потока и (понятийно) конкатенирует их в соответствии с текущим порядком байтов и возвращает результат как float.

void readFully(byte[] b)

Считывает b.length байтов из потока и записывает их в b начиная с индекса 0.

void readFully(byte[] b, int off, int len)

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

void readFully(char[] c, int off, int len)

Считывает len символов (целые беззнаковые 16-битные числа) из потока в соответствии с текущим порядком байтов и записывает их в c начиная с индекса off.

void readFully(double[] d, int off, int len)

Считывает len двойных (64-битных IEEE чисел двойной точности с плавающей запятой) из потока в соответствии с текущим порядком байтов и записывает их в d начиная с индекса off.

void readFully(float[] f, int off, int len)

Считывает len чисел с плавающей запятой (32-битных IEEE чисел одинарной точности с плавающей запятой) из потока в соответствии с текущим порядком байтов и записывает их в f начиная с индекса off.

void readFully(int[] i, int off, int len)

Считывает len целых чисел (целые 32-битные со знаком) из потока в соответствии с текущим порядком байтов и записывает их в i начиная с индекса off.

void readFully(long[] l, int off, int len)

Считывает len длинных целых чисел (64-битные целые со знаком) из потока в соответствии с текущим порядком байтов и записывает их в l начиная с индекса off.

void readFully(short[] s, int off, int len)

Считывает len коротких целых чисел (16-битные целые со знаком) из потока в соответствии с текущим порядком байтов и записывает их в s начиная с индекса off.

int readInt()

Считывает 4 байта из потока и (понятийно) конкатенирует их в соответствии с текущим порядком байтов и возвращает результат как int.

String readLine()

Считывает следующую строку текста из входного потока.

long readLong()

Считывает 8 байтов из потока и (понятийно) конкатенирует их в соответствии с текущим порядком байтов и возвращает результат как long.

short readShort()

Считывает два байта из потока и (понятийно) конкатенирует их в соответствии с текущим порядком байтов, и возвращает результат как значение short.

int readUnsignedByte()

Считывает байт из потока, (понятийно) преобразует его в целое число, маскирует его с помощью 0xff для удаления любых расширяющих знак битов и возвращает его как значение byte.

long readUnsignedInt()

Считывает 4 байта из потока, (понятийно) конкатенирует их в соответствии с текущим порядком байтов, преобразует результат в long, маскирует его с помощью 0xffffffffL для удаления любых расширяющих знак битов и возвращает результат как беззнаковое значение long.

int readUnsignedShort()

Считывает два байта из потока, (понятийно) конкатенирует их в соответствии с текущим порядком байтов, преобразует полученное значение в int, маскирует его с помощью 0xffff для удаления любых расширяющих знак битов и возвращает результат как беззнаковое значение int.

String readUTF()

Считывает строку, закодированную в формате изменённого UTF-8.

void reset()

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

void seek(long pos)

Устанавливает текущую позицию потока в нужное место.

void setBitOffset(int bitOffset)

Устанавливает битовый смещение на целое число от 0 до 7 включительно.

void setByteOrder(ByteOrder byteOrder)

Устанавливает желаемый порядок байтов для последующего чтения значений данных из этого потока.

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

Поля

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 - если поток закрыт.

setByteOrder

public void setByteOrder(ByteOrder byteOrder)

Описание скопировано из интерфейса: ImageInputStream

Устанавливает желаемый порядок байтов для последующего чтения значений данных из этого потока. Например, последовательность байтов '0x01 0x02 0x03 0x04', если читать как 4-байтовое целое число, будет иметь значение '0x01020304' при сетевом порядке байтов и значение '0x04030201' при обратном порядке байтов.

Для указания порядка байтов используется перечисление java.nio.ByteOrder. Значение ByteOrder.BIG_ENDIAN задаёт так называемый порядок байтов "big-endian" или сетевой порядок, в котором старший байт идёт первым. Процессоры Motorola и Sparc хранят данные в этом формате, а процессоры Intel — в обратном порядке ByteOrder.LITTLE_ENDIAN.

Порядок байтов не влияет на результаты, возвращаемые методом readBits (или значение, записанное методом ImageOutputStream.writeBits).

Определено в:
setByteOrder в интерфейсе ImageInputStream
Параметры:
byteOrder - одно из ByteOrder.BIG_ENDIAN или java.nio.ByteOrder.LITTLE_ENDIAN, указывающее, будет ли использоваться сетевой порядок байтов или его обратный при последующем чтении.
См. также:
ByteOrder, ImageInputStream.getByteOrder(), ImageInputStream.readBits(int)

getByteOrder

public ByteOrder getByteOrder()

Описание скопировано из интерфейса: ImageInputStream

Возвращает порядок байтов, с которым будут читаться значения данных из этого потока, как экземпляр перечисления java.nio.ByteOrder.

Определено в:
getByteOrder в интерфейсе ImageInputStream
Возвращает:
одно из ByteOrder.BIG_ENDIAN или ByteOrder.LITTLE_ENDIAN, указывающее используемый порядок байтов.
См. также:
ByteOrder, ImageInputStream.setByteOrder(java.nio.ByteOrder)

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. Если байты не могут быть прочитаны из-за достижения конца потока, возвращается -1.

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

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

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

readBytes

public void readBytes(IIOByteBuffer buf,
                      int len)
               throws IOException

Описание скопировано из интерфейса: ImageInputStream

Читает до len байтов из потока и изменяет предоставленный IIOByteBuffer для указания массива байтов, смещения и длины, где могут быть найдены данные. Вызывающая сторона не должна пытаться изменять данные, найденные в IIOByteBuffer.

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

Определено в:
readBytes в интерфейсе ImageInputStream
Параметры:
buf - объект IIOByteBuffer, который должен быть изменён.
len - максимальное количество byte для чтения.
Выбрасывает:
IOException - если произошла ошибка ввода-вывода.

readBoolean

public boolean readBoolean()
                    throws IOException

Описание скопировано из интерфейса: ImageInputStream

Читает байт из потока и возвращает значение boolean равное true если он ненулевой, false если он нулевой.

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

Определено в:
readBoolean в интерфейсе DataInput
Определено в:
readBoolean в интерфейсе ImageInputStream
Возвращает:
логическое значение из потока.
Выбрасывает:
EOFException - если достигнут конец потока.
IOException - если произошла ошибка ввода-вывода.

readByte

public byte readByte()
              throws IOException

Описание скопировано из интерфейса: ImageInputStream

Читает байт из потока и возвращает его как значение byte. Значения байтов между 0x00 и 0x7f представляют целочисленные значения между 0 и 127. Значения между 0x80 и 0xff представляют отрицательные значения от -128 до /1.

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

Определено в:
readByte в интерфейсе DataInput
Определено в:
readByte в интерфейсе ImageInputStream
Возвращает:
знаковое значение байта из потока.
Выбрасывает:
EOFException - если достигнут конец потока.
IOException - если произошла ошибка ввода-вывода.

readUnsignedByte

public int readUnsignedByte()
                     throws IOException

Описание скопировано из интерфейса: ImageInputStream

Читает байт из потока и (понятие) преобразует его в int, маскирует его с 0xff для удаления любых битов расширения знака и возвращает его как значение byte.

Таким образом, значения байтов между 0x00 и 0x7f просто возвращаются как целочисленные значения между 0 и 127. Значения между 0x80 и 0xff, которые обычно представляют отрицательные byteзначения, будут отображены в положительные целые числа между 128 и 255.

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

Определено в:
readUnsignedByte в интерфейсе DataInput
Определено в:
readUnsignedByte в интерфейсе ImageInputStream
Возвращает:
бесзнаковое значение байта из потока.
Выбрасывает:
EOFException - если достигнут конец потока.
IOException - если произошла ошибка ввода-вывода.

readShort

public short readShort()
                throws IOException

Описание скопировано из интерфейса: ImageInputStream

Читает два байта из потока и (понятие) соединяет их в соответствии с текущим порядком байтов и возвращает результат как значение short.

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

Определено:
readShort в интерфейсе DataInput
Определено:
readShort в интерфейсе ImageInputStream
Возвращает:
знаковое короткое целое значение из потока.
Исключения:
EOFException - если поток достиг конца, прежде чем были прочитаны все байты.
IOException - если произошла ошибка ввода-вывода.
См. также:
ImageInputStream.getByteOrder()

readUnsignedShort

public int readUnsignedShort()
                      throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает два байта из потока и (понятийно) конкатенирует их в соответствии с текущим порядком байтов, преобразует полученное значение в int, маскирует его с помощью 0xffff для удаления битов расширения знака и возвращает результат как беззнаковое int значение.

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

Определено:
readUnsignedShort в интерфейсе DataInput
Определено:
readUnsignedShort в интерфейсе ImageInputStream
Возвращает:
беззнаковое короткое целое значение из потока, как целое.
Исключения:
EOFException - если поток достиг конца, прежде чем были прочитаны все байты.
IOException - если произошла ошибка ввода-вывода.
См. также:
ImageInputStream.getByteOrder()

readChar

public char readChar()
              throws IOException

Описание скопировано из интерфейса: ImageInputStream

Эквивалентно readUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char.

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

Определено:
readChar в интерфейсе DataInput
Определено:
readChar в интерфейсе ImageInputStream
Возвращает:
беззнаковое значение char из потока.
Исключения:
EOFException - если поток достиг конца, прежде чем были прочитаны все байты.
IOException - если произошла ошибка ввода-вывода.
См. также:
ImageInputStream.readUnsignedShort()

readInt

public int readInt()
            throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает 4 байта из потока и (понятийно) конкатенирует их в соответствии с текущим порядком байтов и возвращает результат как int.

Смещение бита в потоке игнорируется и рассматривается как ноль.

Определено:
readInt в интерфейсе DataInput
Определено:
readInt в интерфейсе ImageInputStream
Возвращает:
знаковое целое значение int из потока.
Исключения:
EOFException - если поток достиг конца, прежде чем были прочитаны все байты.
IOException - если произошла ошибка ввода-вывода.
См. также:
ImageInputStream.getByteOrder()

readUnsignedInt

public long readUnsignedInt()
                     throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает 4 байта из потока и (понятийно) конкатенирует их в соответствии с текущим порядком байтов, преобразует результат в long, маскирует его с помощью 0xffffffffL для удаления битов расширения знака и возвращает результат как беззнаковое long значение.

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

Определено:
readUnsignedInt в интерфейсе ImageInputStream
Возвращает:
беззнаковое целое значение int из потока, как long.
Исключения:
EOFException - если поток достиг конца, прежде чем были прочитаны все байты.
IOException - если произошла ошибка ввода-вывода.
См. также:
ImageInputStream.getByteOrder()

readLong

public long readLong()
              throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает 8 байтов из потока, (понятийно) конкатенирует их в соответствии с текущим порядком байтов и возвращает результат как long.

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

Определено:
readLong в интерфейсе DataInput
Определено:
readLong в интерфейсе ImageInputStream
Возвращает:
знаковое длинное целое значение long из потока.
Исключения:
EOFException - если поток достиг конца, прежде чем были прочитаны все байты.
IOException - если произошла ошибка ввода-вывода.
См. также:
ImageInputStream.getByteOrder()

readFloat

public float readFloat()
                throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает 4 байта из потока, (понятийно) конкатенирует их в соответствии с текущим порядком байтов и возвращает результат как float.

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

Определено:
readFloat в интерфейсе DataInput
Определено:
readFloat в интерфейсе ImageInputStream
Возвращает:
значение float из потока.
Исключения:
EOFException - если поток достиг конца, прежде чем были прочитаны все байты.
IOException - если произошла ошибка ввода-вывода.
См. также:
ImageInputStream.getByteOrder()

readDouble

public double readDouble()
                  throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает 8 байтов из потока, (понятийно) конкатенирует их в соответствии с текущим порядком байтов и возвращает результат как double.

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

Определено:
readDouble в интерфейсе DataInput
Определено:
readDouble в интерфейсе ImageInputStream
Возвращает:
значение double из потока.
Исключения:
EOFException - если поток достиг конца, прежде чем были прочитаны все байты.
IOException - если произошла ошибка ввода-вывода.
См. также:
ImageInputStream.getByteOrder()

readLine

public String readLine()
                throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает следующую строку текста из входного потока. Он считывает последовательные байты, преобразуя каждый байт в отдельный символ, пока не встретит разделитель строки или конец файла; прочитанные символы возвращаются как String. Обратите внимание, что поскольку этот метод обрабатывает байты, он не поддерживает вход полного набора символов Юникода.

Если конец файла встречен до того, как можно прочитать хотя бы один байт, то возвращается null. В противном случае каждый прочитанный байт преобразуется в тип char с нулевым расширением. Если встречен символ '\n', он отбрасывается, и чтение прекращается. Если встречен символ '\r', он отбрасывается, и если следующий байт преобразуется в символ '\n', то он также отбрасывается; чтение прекращается. Если конец файла встречен до того, как встречены любой из символов '\n' и '\r', чтение прекращается. После прекращения чтения возвращается String, содержащий все прочитанные и не отброшенные символы в порядке их чтения. Обратите внимание, что каждое значение символа в этой строке будет меньше \u0100, то есть (char)256.

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

Определено:
readLine в интерфейсе DataInput
Определено:
readLine в интерфейсе ImageInputStream
Возвращает:
строку, содержащую строку текста из потока.
Исключения:
IOException - если произошла ошибка ввода-вывода.

readUTF

public String readUTF()
               throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает строку, закодированную с использованием формата modified UTF-8. Общее условие readUTF заключается в том, что он считывает представление Unicode-строки, закодированной в формате modified UTF-8; эта строка символов затем возвращается как String.

Сначала считываются два байта, которые используются для построения беззнакового 16-битного целого числа способом, аналогичным методу readUnsignedShort, используя сетевой порядок байтов (независимо от текущей настройки порядка байтов). Это целочисленное значение называется длиной UTF и указывает количество дополнительных байтов, которые необходимо считать. Затем эти байты преобразуются в символы путем их рассмотрения группами. Длина каждой группы вычисляется по значению первого байта группы. Следующий за группой байт, если таковой имеется, является первым байтом следующей группы.

Если первый байт группы соответствует битовому шаблону 0xxxxxxx (где x означает «может быть 0 или 1»), то группа состоит только из этого байта. Байты дополняются нулями для формирования символа.

Если первый байт группы соответствует битовому шаблону 110xxxxx, то группа состоит из этого байта a и второго байта b. Если нет байта b (потому что байт a был последним из считанных байтов), или если байт b не соответствует битовому шаблону 10xxxxxx, то генерируется исключение UTFDataFormatException. В противном случае группа преобразуется в символ:

(char)(((a& 0x1F) << 6) | (b & 0x3F))
Если первый байт группы соответствует битовому шаблону 1110xxxx, то группа состоит из этого байта a и еще двух байтов b и c. Если нет байта c (потому что байт a был одним из двух последних считанных байтов), или если байт b или байт c не соответствует битовому шаблону 10xxxxxx, то генерируется исключение UTFDataFormatException. В противном случае группа преобразуется в символ:
(char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))
Если первый байт группы соответствует шаблону 1111xxxx или шаблону 10xxxxxx, то генерируется исключение UTFDataFormatException.

Если конец файла обнаружен в любой момент этого процесса, то генерируется исключение java.io.EOFException.

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

Текущая настройка порядка байтов игнорируется.

Смещение по битам в потоке сбрасывается в ноль перед чтением.

Примечание: Этот метод не следует использовать при реализации форматов изображений, использующих стандартный UTF-8, поскольку используемый здесь modified UTF-8 несовместим со стандартным UTF-8.

Указано в:
readUTF в интерфейсе DataInput
Указано в:
readUTF в интерфейсе ImageInputStream
Возвращает:
строку, считанную из потока.
Исключения:
EOFException - если этот поток достигнет конца до чтения всех байтов.
UTFDataFormatException - если байты не представляют собой допустимое кодирование modified UTF-8 строки.
IOException - если произошла ошибка ввода-вывода.

readFully

public void readFully(byte[] b,
                      int off,
                      int len)
               throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает len байтов из потока и сохраняет их в b начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Смещение по битам в потоке сбрасывается в ноль перед чтением.

Указано в:
readFully в интерфейсе DataInput
Указано в:
readFully в интерфейсе ImageInputStream
Параметры:
b - массив байтов, в который будет производиться запись.
off - начальная позиция в b для записи.
len - максимальное количество byte для чтения.
Исключения:
EOFException - если поток достигнет конца до чтения всех байтов.
IOException - если произошла ошибка ввода-вывода.

readFully

public void readFully(byte[] b)
               throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает b.length байтов из потока и сохраняет их в b начиная с индекса 0. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Смещение по битам в потоке сбрасывается в ноль перед чтением.

Указано в:
readFully в интерфейсе DataInput
Указано в:
readFully в интерфейсе ImageInputStream
Параметры:
b - массив byte.
Исключения:
EOFException - если поток достигнет конца до чтения всех байтов.
IOException - если произошла ошибка ввода-вывода.

readFully

public void readFully(short[] s,
                      int off,
                      int len)
               throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает len коротких целых чисел (знаковых 16-битных целых чисел) из потока в соответствии с текущим порядком байтов и сохраняет их в s начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Смещение по битам в потоке сбрасывается в ноль перед чтением.

Указано в:
readFully в интерфейсе ImageInputStream
Параметры:
s - массив коротких целых чисел для записи.
off - начальная позиция в s для записи.
len - максимальное количество short для чтения.
Исключения:
EOFException - если поток достигнет конца до чтения всех байтов.
IOException - если произошла ошибка ввода-вывода.

readFully

public void readFully(char[] c,
                      int off,
                      int len)
               throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает len символов (беззнаковых 16-битных целых чисел) из потока в соответствии с текущим порядком байтов и сохраняет их в c начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Смещение по битам в потоке сбрасывается в ноль перед чтением.

Указано в:
readFully в интерфейсе ImageInputStream
Параметры:
c - массив символов для записи.
off - начальная позиция в c для записи.
len - максимальное количество char для чтения.
Исключения:
EOFException - если поток достигнет конца до чтения всех байтов.
IOException - если произошла ошибка ввода-вывода.

readFully

public void readFully(int[] i,
                      int off,
                      int len)
               throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает len целых чисел (знаковых 32-битных целых чисел) из потока в соответствии с текущим порядком байтов и сохраняет их в i начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Смещение по битам в потоке сбрасывается в ноль перед чтением.

Указано в:
readFully в интерфейсе ImageInputStream
Параметры:
i - массив целых чисел для записи.
off - начальная позиция в i для записи.
len - максимальное количество int для чтения.
Исключения:
EOFException - если поток достигнет конца до чтения всех байтов.
IOException - если произошла ошибка ввода-вывода.

readFully

public void readFully(long[] l,
                      int off,
                      int len)
               throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает len длинных целых чисел (знаковых 64-битных целых чисел) из потока в соответствии с текущим порядком байтов и сохраняет их в l начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Смещение по битам в потоке сбрасывается в ноль перед чтением.

Указано в:
readFully в интерфейсе ImageInputStream
Параметры:
l - массив длинных целых чисел для записи.
off - начальная позиция в l для записи.
len - максимальное количество long для чтения.
Исключения:
EOFException - если поток достигнет конца до чтения всех байтов.
IOException - если произошла ошибка ввода-вывода.

readFully

public void readFully(float[] f,
                      int off,
                      int len)
               throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает len чисел с плавающей точкой (32-битные числа с плавающей точкой одинарной точности IEEE) из потока в соответствии с текущим порядком байтов и сохраняет их в f начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Смещение по битам в потоке сбрасывается в ноль перед чтением.

Указано в:
readFully в интерфейсе ImageInputStream
Параметры:
f - массив чисел с плавающей точкой для записи.
off - начальная позиция в f для записи.
len - максимальное количество float для чтения.
Исключения:
EOFException - если поток достигнет конца до чтения всех байтов.
IOException - если произошла ошибка ввода-вывода.

readFully

public void readFully(double[] d,
                      int off,
                      int len)
               throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает len чисел с плавающей точкой двойной точности (64-битные числа с плавающей точкой IEEE) из потока в соответствии с текущим порядком байтов и сохраняет их в d начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Смещение по битам в потоке сбрасывается в ноль перед чтением.

Указано в:
readFully в интерфейсе ImageInputStream
Параметры:
d - массив чисел с плавающей точкой двойной точности, в который будут записаны данные.
off - начальная позиция в d для записи.
len - максимальное количество double, которые нужно прочитать.
Исключения:
EOFException - если поток достигает конца до чтения всех байтов.
IOException - если возникает ошибка ввода-вывода.

getStreamPosition

public long getStreamPosition()
                       throws IOException

Описание скопировано из интерфейса: ImageInputStream

Возвращает текущую позицию байта в потоке. Следующее чтение будет выполнено начиная с этого смещения.

Указано в:
getStreamPosition в интерфейсе ImageInputStream
Возвращает:
целое число long, содержащее позицию потока.
Исключения:
IOException - если возникает ошибка ввода-вывода.

getBitOffset

public int getBitOffset()
                 throws IOException

Описание скопировано из интерфейса: ImageInputStream

Возвращает текущее смещение по битам как целое число от 0 до 7 включительно. Смещение по битам неявно обновляется вызовами метода readBits. Значение 0 указывает на самый старший бит, а значение 7 — на самый младший бит считываемого байта.

Смещение по битам устанавливается в 0 при первом открытии потока и сбрасывается в 0 вызовами seek, skipBytes или любого метода read или readFully.

Указано в:
getBitOffset в интерфейсе ImageInputStream
Возвращает:
число int, содержащее смещение по битам от 0 до 7 включительно.
Исключения:
IOException - если возникает ошибка ввода-вывода.
См. также:
ImageInputStream.setBitOffset(int)

setBitOffset

public void setBitOffset(int bitOffset)
                  throws IOException

Описание скопировано из интерфейса: ImageInputStream

Устанавливает смещение по битам в целое число от 0 до 7 включительно. Смещение байтов в потоке, возвращаемое методом getStreamPosition, остается неизменным. Значение 0 указывает на самый старший бит, а значение 7 — на самый младший бит считываемого байта.

Указано в:
setBitOffset в интерфейсе ImageInputStream
Параметры:
bitOffset - желаемое смещение как число int от 0 до 7 включительно.
Исключения:
IOException - если возникает ошибка ввода-вывода.
См. также:
ImageInputStream.getBitOffset()

readBit

public int readBit()
            throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает один бит из потока и возвращает его как число int со значением 0 или 1. Смещение по битам увеличивается на единицу и уменьшается по модулю 8.

Указано в:
readBit в интерфейсе ImageInputStream
Возвращает:
число int, содержащее значение 0 или 1.
Исключения:
EOFException - если поток достигает конца до чтения всех битов.
IOException - если возникает ошибка ввода-вывода.

readBits

public long readBits(int numBits)
              throws IOException

Описание скопировано из интерфейса: ImageInputStream

Считывает битовую строку из потока и возвращает ее как число long, при этом первый считанный бит становится старшим битом выходных данных. Чтение начинается в байте, указанном getStreamPosition, в бите, указанном getBitOffset. Смещение по битам увеличивается на numBits и уменьшается по модулю 8.

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

long accum = 0L;
 for (int i = 0; i < numBits; i++) {
   accum <<= 1; // Shift left one bit to make room
   accum |= readBit();
 }
Обратите внимание, что результат readBits(32) может не быть равен результату readInt(), если используется обратный порядок байтов в сети (т. е. getByteOrder() == false).

Если конец потока встречается до того, как будут считаны все биты, генерируется исключение java.io.EOFException.

Указано в:
readBits в интерфейсе ImageInputStream
Параметры:
numBits - количество битов для чтения как число int от 0 до 64 включительно.
Возвращает:
битовую строку как число long с последним считанным битом, хранящимся в младшем бите.
Исключения:
EOFException - если поток достигает конца до чтения всех битов.
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 при вычислении начальной или конечной позиции.

seek

public void seek(long pos)
          throws IOException

Описание скопировано из интерфейса: ImageInputStream

Устанавливает текущую позицию потока в нужное место. Следующее чтение произойдет в этом месте. Смещение по битам устанавливается в 0.

Исключение IndexOutOfBoundsException будет выброшено, если pos меньше очищенной позиции (как возвращается getflushedPosition).

Разрешено перемещаться за конец файла; исключение java.io.EOFException будет выброшено только в случае выполнения чтения.

Указано в:
seek в интерфейсе ImageInputStream
Параметры:
pos - число long, содержащее желаемую позицию указателя файла.
Исключения:
IOException - если возникает любая другая ошибка ввода-вывода.

mark

public void mark()

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

Указано в:
mark в интерфейсе ImageInputStream

reset

public void reset()
           throws IOException

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

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

Указано в:
reset в интерфейсе ImageInputStream
Исключения:
IOException - если возникает ошибка ввода-вывода.

flushBefore

public void flushBefore(long pos)
                 throws IOException

Описание скопировано из интерфейса: ImageInputStream

Отбрасывает начальную часть потока до указанной позиции. Попытка переместиться в смещение в очищенной части потока приведет к исключению IndexOutOfBoundsException.

Вызов flushBefore может позволить классам, реализующим этот интерфейс, освободить ресурсы, такие как память или дисковое пространство, которые используются для хранения данных из потока.

Указано в:
flushBefore в интерфейсе ImageInputStream
Параметры:
pos - число long, содержащее длину префикса потока, который может быть очищен.
Исключения:
IOException - если возникает ошибка ввода-вывода.

flush

public void flush()
           throws IOException

Описание скопировано из интерфейса: ImageInputStream

Отбрасывает начальную позицию потока до текущей позиции потока. Эквивалентно flushBefore(getStreamPosition()).

Указано в:
flush в интерфейсе ImageInputStream
Исключения:
IOException - если возникает ошибка ввода-вывода.

getFlushedPosition

public long getFlushedPosition()

Описание скопировано из интерфейса: ImageInputStream

Возвращает самую раннюю позицию в потоке, в которую можно выполнить перемещение. Возвращаемое значение будет максимальным из всех значений, переданных в предыдущие вызовы flushBefore.

Указано в:
getFlushedPosition в интерфейсе ImageInputStream
Возвращает:
самую раннюю допустимую позицию для перемещения как число long.

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()

close

public void close()
           throws IOException

Описание скопировано из интерфейса: ImageInputStream

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

Определено в:
close в интерфейсе Closeable
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе ImageInputStream
Исключения:
IOException - если произошла ошибка ввода-вывода.

finalize

protected void finalize()
                 throws Throwable

Завершает работу этого объекта перед сборкой мусора. Метод 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.

Spec-Zone.ru

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