# Package javax.imageio.stream

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

See: Description

Interface Summary
Interface | Description
--- | ---
ImageInputStream | A seekable input stream interface for use by `ImageReader`s.
ImageOutputStream | A seekable output stream interface for use by `ImageWriter`s.

Class Summary
Class | Description
--- | ---
FileCacheImageInputStream | An implementation of `ImageInputStream` that gets its input from a regular `InputStream`.
FileCacheImageOutputStream | An implementation of `ImageOutputStream` that writes its output to a regular `OutputStream`.
FileImageInputStream | An implementation of `ImageInputStream` that gets its input from a `File` or `RandomAccessFile`.
FileImageOutputStream | An implementation of `ImageOutputStream` that writes its output directly to a `File` or `RandomAccessFile`.
IIOByteBuffer | A class representing a mutable reference to an array of bytes and an offset and length within that array.
ImageInputStreamImpl | An abstract class implementing the `ImageInputStream` interface.
ImageOutputStreamImpl | An abstract class implementing the `ImageOutputStream` interface.
MemoryCacheImageInputStream | An implementation of `ImageInputStream` that gets its input from a regular `InputStream`.
MemoryCacheImageOutputStream | An implementation of `ImageOutputStream` that writes its output to a regular `OutputStream`.

## Package javax.imageio.stream Description

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

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.