A package of the Java Image I/O API dealing with low-level I/O from files and streams.

The `ImageInputStream` interface unifies streaming and file-based operations. An abstract base class, `ImageInputStreamImpl` is provided to simplify writing a new `ImageInputStream` class. Concrete implementation classes (`FileImageInputStream`, `FileCacheImageInputStream`, and `MemoryCacheImageInputStream`) are provided that allow input to come from a `File` or `InputStream` with or without the use of a temporary cache file.

The `ImageOutputStream` interface performs an analogous function for output. An abstract base class, `ImageOutputStreamImpl` is provided, along with concrete implementation classes (`FileImageOutputStream`, `FileCacheImageOutputStream`, and `MemoryCacheImageOutputStream`) are provided that allow output to go to a `File` or `OutputStream` with or without the use of a temporary cache file.

The `IIOByteBuffer` class provides an alternative way to perform reads of sequences of bytes that reduces the amount of internal data copying. @since 1.4