# Uses of Package
org.apache.commons.io.input

- Packages that use org.apache.commons.io.input
  Package | Description
  --- | ---
  org.apache.commons.io | Provides classes for working with streams, readers, writers and files.
  org.apache.commons.io.input | Provides implementations of input classes, such as `InputStream` and `Reader`.
  org.apache.commons.io.output | Provides implementations of output classes, such as `OutputStream` and `Writer`.

- Classes in org.apache.commons.io.input used by org.apache.commons.io
  Class and Description
  QueueInputStream Simple alternative to JDK `PipedInputStream`; queue input stream provides what's written in queue output stream.

- Classes in org.apache.commons.io.input used by org.apache.commons.io.input
  Class and Description
  AbstractCharacterFilterReader A filter reader that filters out characters where subclasses decide which characters to filter out.
  AbstractInputStream Abstracts some InputStream operations for implementations in this package.
  AutoCloseInputStream Proxy stream that closes and discards the underlying stream as soon as the end of input has been reached or when the stream is explicitly closed.
  AutoCloseInputStream.Builder Builds a new `AutoCloseInputStream` instance.
  BOMInputStream This class is used to wrap a stream that includes an encoded `ByteOrderMark` as its first bytes.
  BOMInputStream.Builder Builds a new `BOMInputStream`.
  BoundedInputStream Reads bytes up to a maximum count and stops once reached.
  BoundedInputStream.AbstractBuilder For subclassing builders from `BoundedInputStream` subclassses.
  BoundedInputStream.Builder Builds a new `BoundedInputStream`.
  BrokenInputStream Always throws an exception from all `InputStream` methods where `IOException` is declared.
  BrokenReader Always throws an exception from all `Reader` methods where `IOException` is declared.
  BufferedFileChannelInputStream `InputStream` implementation which uses direct buffer to read a file to avoid extra copy of data between Java and native memory which happens when using `BufferedInputStream`.
  BufferedFileChannelInputStream.Builder Builds a new `BufferedFileChannelInputStream`.
  CharSequenceInputStream Implements an `InputStream` to read bytes from String, StringBuffer, StringBuilder or CharBuffer, encoded using the specified Charset.
  CharSequenceInputStream.Builder Builds a new `CharSequenceInputStream`.
  ChecksumInputStream Automatically verifies a `Checksum` value once the stream is exhausted or the count threshold is reached.
  ChecksumInputStream.Builder Builds a new `ChecksumInputStream`.
  CircularInputStream An `InputStream` that repeats provided bytes for given target byte count.
  ClosedInputStream Always returns `IOUtils.EOF` to all attempts to read something from an input stream.
  ClosedReader Always returns `IOUtils.EOF` to all attempts to read something from it.
  CloseShieldInputStream Proxy stream that prevents the underlying input stream from being closed.
  CloseShieldReader Proxy reader that prevents the underlying reader from being closed.
  CountingInputStream Deprecated. Use `BoundedInputStream` (unbounded by default).
  MemoryMappedFileInputStream An `InputStream` that utilizes memory mapped files to improve performance.
  MemoryMappedFileInputStream.Builder Builds a new `MemoryMappedFileInputStream`.
  MessageDigestCalculatingInputStream Deprecated. Use `MessageDigestInputStream`.
  MessageDigestCalculatingInputStream.Builder Deprecated. Builds a new `MessageDigestCalculatingInputStream`.
  MessageDigestInputStream This class is an example for using an `ObservableInputStream`.
  MessageDigestInputStream.Builder Builds new `MessageDigestInputStream`.
  NullInputStream A lightweight `InputStream` that emulates a stream of a specified size.
  NullReader A functional, lightweight `Reader` that emulates a reader of a specified size.
  ObservableInputStream The `ObservableInputStream` allows, that an InputStream may be consumed by other receivers, apart from the thread, which is reading it.
  ObservableInputStream.AbstractBuilder For subclassing builders from `BoundedInputStream` subclassses.
  ObservableInputStream.Observer Abstracts observer callback for `ObservableInputStream`s.
  ProxyInputStream A proxy stream which acts as a `FilterInputStream`, by passing all method calls on to the proxied stream, not changing which methods are called.
  ProxyInputStream.AbstractBuilder Abstracts builder properties for subclasses.
  ProxyReader A Proxy stream which acts as expected, that is it passes the method calls on to the proxied stream and doesn't change which methods are being called.
  QueueInputStream Simple alternative to JDK `PipedInputStream`; queue input stream provides what's written in queue output stream.
  QueueInputStream.Builder Builds a new `QueueInputStream`.
  RandomAccessFileInputStream Streams data from a `RandomAccessFile` starting at its current position.
  RandomAccessFileInputStream.Builder Builds a new `RandomAccessFileInputStream`.
  ReadAheadInputStream Implements `InputStream` to asynchronously read ahead from an underlying input stream when a specified amount of data has been read from the current buffer.
  ReadAheadInputStream.Builder Builds a new `ReadAheadInputStream`.
  ReaderInputStream `InputStream` implementation that reads a character stream from a `Reader` and transforms it to a byte stream using a specified charset encoding.
  ReaderInputStream.Builder Constructs a new `ReaderInputStream` with a default input buffer size of `IOUtils.DEFAULT_BUFFER_SIZE` characters.
  ReversedLinesFileReader Reads lines in a file reversely (similar to a BufferedReader, but starting at the last line).
  ReversedLinesFileReader.Builder Builds a new `ReversedLinesFileReader`.
  Tailer Simple implementation of the Unix "tail -f" functionality.
  Tailer.Builder Builds a new `Tailer`.
  Tailer.RandomAccessResourceBridge Bridges access to a resource for random access, normally a file.
  Tailer.Tailable A tailable resource like a file.
  TailerListener Listens to events from a `Tailer`.
  ThrottledInputStream Provides bandwidth throttling on an InputStream as a filter input stream.
  ThrottledInputStream.Builder Builds a new `ThrottledInputStream`.
  UncheckedBufferedReader A `BufferedReader` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedBufferedReader.Builder Builds a new `UncheckedBufferedReader`.
  UncheckedFilterInputStream A `BufferedReader` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedFilterInputStream.Builder Builds a new `UncheckedFilterInputStream`.
  UncheckedFilterReader A `FilterReader` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedFilterReader.Builder Builds a new `UncheckedFilterReader`.
  UnsynchronizedBufferedInputStream An unsynchronized version of `BufferedInputStream`, not thread-safe.
  UnsynchronizedByteArrayInputStream This is an alternative to `ByteArrayInputStream` which removes the synchronization overhead for non-concurrent access; as such this class is not thread-safe.
  UnsynchronizedByteArrayInputStream.Builder Builds a new `UnsynchronizedByteArrayInputStream`.
  UnsynchronizedFilterInputStream An unsynchronized version of `FilterInputStream`, not thread-safe.
  UnsynchronizedFilterInputStream.Builder Builds a new `UnsynchronizedFilterInputStream`.
  UnsynchronizedReader A `Reader` without any of the superclass' synchronization.
  XmlStreamReader Character stream that handles all the necessary Voodoo to figure out the charset encoding of the XML document within the stream.
  XmlStreamReader.Builder Builds a new `XmlStreamWriter`.

- Classes in org.apache.commons.io.input used by org.apache.commons.io.output
  Class and Description
  QueueInputStream Simple alternative to JDK `PipedInputStream`; queue input stream provides what's written in queue output stream.