Spec-Zone.ru › OpenJDK 27

Пакет javax.imageio.stream

package javax.imageio.stream
Пакет Java Image I/O API, предназначенный для низкоуровневого ввода-вывода из файлов и потоков.

Интерфейс ImageInputStream объединяет операции с потоками и файлами. Для упрощения создания нового класса ImageInputStream предоставляется абстрактный базовый класс ImageInputStreamImpl. Предоставляются конкретные классы реализации (FileImageInputStream, FileCacheImageInputStream и MemoryCacheImageInputStream), позволяющие получать входные данные из File или InputStream с использованием временного файла кэша или без него.

Интерфейс ImageOutputStream выполняет аналогичную функцию для вывода. Предоставляется абстрактный базовый класс ImageOutputStreamImpl, а также конкретные классы реализации (FileImageOutputStream, FileCacheImageOutputStream и MemoryCacheImageOutputStream), позволяющие записывать выходные данные в File или OutputStream с использованием временного файла кэша или без него.

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

ImageInputStream или ImageOutputStream может выделять системные ресурсы, например временный файл кэша. Рекомендуется использовать конструкцию try-with-resources, чтобы гарантировать вызов метода ImageInputStream.close() или ImageInputStream.close(), который позволяет своевременно освободить эти собственные ресурсы. В противном случае они могут утечь и со временем привести к сбою приложения; кроме того, существует вероятность, что не все данные будут сброшены в базовый выходной поток. Из этого следует, что такой поток следует закрывать до закрытия целевого OutputStream. Простой пример:

try (FileOutputStream fos = new FileOutputStream("out.jpg");
     ImageOutputStream ios = new FileCacheImageOutputStream(fos, null)) {
    ImageIO.write(img, "jpg", ios);
} catch (IOException e) {
} // implicit finally block closes the streams in the reverse order to opening

Наследники этих типов потоков API Image I/O могут в некоторой степени защитить приложение от последствий незакрытия потоков, используя такие механизмы, как Cleaner, для освобождения внутренних ресурсов, когда объект становится недоступен. Это необходимо только в том случае, если есть ресурсы, которые нужно освободить. Однако приложения не должны полагаться на такой механизм ни для управления ресурсами, ни для корректности работы программы.

Начиная с:
1.4
Пакет Описание
javax.imageio
Основной пакет Java Image I/O API.
javax.imageio.event
Пакет Java Image I/O API, предназначенный для синхронного уведомления о событиях при чтении и записи изображений.
javax.imageio.metadata
Пакет Java Image I/O API, предназначенный для чтения и записи метаданных.
javax.imageio.spi
Пакет Java Image I/O API, содержащий интерфейсы подключаемых модулей для средств чтения, записи, преобразования и потоков, а также реестр времени выполнения.
Класс Описание
FileCacheImageInputStream
Реализация ImageInputStream, получающая входные данные из обычного InputStream.
FileCacheImageOutputStream
Реализация ImageOutputStream, записывающая выходные данные в обычный OutputStream.
FileImageInputStream
Реализация ImageInputStream, получающая входные данные из File или RandomAccessFile.
FileImageOutputStream
Реализация ImageOutputStream, записывающая выходные данные непосредственно в File или RandomAccessFile.
IIOByteBuffer
Класс, представляющий изменяемую ссылку на массив байтов, а также смещение и длину области в этом массиве.
ImageInputStream
Интерфейс потока ввода с поддержкой позиционирования, предназначенный для использования ImageReader.
ImageInputStreamImpl
Абстрактный класс, реализующий интерфейс ImageInputStream.
ImageOutputStream
Интерфейс потока вывода с поддержкой позиционирования, предназначенный для использования ImageWriter.
ImageOutputStreamImpl
Абстрактный класс, реализующий интерфейс ImageOutputStream.
MemoryCacheImageInputStream
Реализация ImageInputStream, получающая входные данные из обычного InputStream.
MemoryCacheImageOutputStream
Реализация ImageOutputStream, записывающая выходные данные в обычный OutputStream.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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