# Package org.apache.commons.io.input

Provides implementations of input classes, such as `InputStream` and `Reader`.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Tailer.RandomAccessResourceBridge | Bridges access to a resource for random access, normally a file.
  Tailer.Tailable | A tailable resource like a file.
  TailerListener | Listener for events from a `Tailer`.

- Class Summary
  Class | Description
  --- | ---
  AbstractCharacterFilterReader | A filter reader that filters out characters where subclasses decide which characters to filter out.
  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` instance.
  BoundedInputStream | Reads bytes up to a maximum length, if its count goes above that, it stops.
  BoundedReader | A reader that imposes a limit to the number of characters that can be read from an underlying reader, returning EOF when this limit is reached, regardless of state of underlying reader.
  BrokenInputStream | Always throws an `IOException` from all the `InputStream` methods where the exception is declared.
  BrokenReader | Always throws an `IOException` from all the `Reader` methods where the exception 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` instance.
  CharacterFilterReader | A filter reader that filters out a given character represented as an `int` code point, handy to remove known junk characters from CSV files for example.
  CharacterSetFilterReader | A filter reader that removes a given set of characters represented as `int` code points, handy to remove known junk characters from CSV files for example.
  CharSequenceInputStream | Implements an `InputStream` to read from String, StringBuffer, StringBuilder or CharBuffer.
  CharSequenceInputStream.Builder | Builds a new `CharSequenceInputStream` instance.
  CharSequenceReader | `Reader` implementation that can read from String, StringBuffer, StringBuilder or CharBuffer.
  CircularInputStream | An `InputStream` that repeats provided bytes for given target byte count.
  ClassLoaderObjectInputStream | A special ObjectInputStream that loads a class based on a specified `ClassLoader` rather than the system default.
  ClosedInputStream | Always returns `IOUtils.EOF` to all attempts to read something from the 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 | A decorating input stream that counts the number of bytes that have passed through the stream so far.
  DemuxInputStream | Data written to this stream is forwarded to a stream that has been associated with this thread.
  InfiniteCircularInputStream | An `InputStream` that infinitely repeats the provided bytes.
  MarkShieldInputStream | This is an alternative to `ByteArrayInputStream` which removes the synchronization overhead for non-concurrent access; as such this class is not thread-safe.
  MemoryMappedFileInputStream | An `InputStream` that utilizes memory mapped files to improve performance.
  MemoryMappedFileInputStream.Builder | Builds a new `MemoryMappedFileInputStream` instance.
  MessageDigestCalculatingInputStream | This class is an example for using an `ObservableInputStream`.
  MessageDigestCalculatingInputStream.Builder | Builds a new `MessageDigestCalculatingInputStream` instance.
  MessageDigestCalculatingInputStream.MessageDigestMaintainingObserver | Maintains the message digest.
  NullInputStream | A functional, light weight `InputStream` that emulates a stream of a specified size.
  NullReader | A functional, light weight `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.Observer | Abstracts observer callback for `ObservableInputStream`s.
  ProxyInputStream | 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.
  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` instance.
  RandomAccessFileInputStream | Streams data from a `RandomAccessFile` starting at its current position.
  RandomAccessFileInputStream.Builder | Builds a new `RandomAccessFileInputStream` instance.
  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` instance.
  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 | Builds a new `ReaderInputStream` instance.
  ReversedLinesFileReader | Reads lines in a file reversely (similar to a BufferedReader, but starting at the last line).
  ReversedLinesFileReader.Builder | Builds a new `ReversedLinesFileReader` instance.
  SequenceReader | Provides the contents of multiple `Reader`s in sequence.
  SwappedDataInputStream | DataInput for systems relying on little endian data formats.
  TaggedInputStream | An input stream decorator that tags potential exceptions so that the stream that caused the exception can easily be identified.
  TaggedReader | A reader decorator that tags potential exceptions so that the reader that caused the exception can easily be identified.
  Tailer | Simple implementation of the UNIX "tail -f" functionality.
  Tailer.Builder | Builds a `Tailer` with default values.
  TailerListenerAdapter | `TailerListener` Adapter.
  TeeInputStream | InputStream proxy that transparently writes a copy of all bytes read from the proxied stream to a given OutputStream.
  TeeReader | Reader proxy that transparently writes a copy of all characters read from the proxied reader to a given Reader.
  TimestampedObserver | An observer with timestamps.
  UncheckedBufferedReader | A `BufferedReader` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedBufferedReader.Builder | Builds a new `UncheckedBufferedReader` instance.
  UncheckedFilterInputStream | A `BufferedReader` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedFilterInputStream.Builder | Builds a new `UncheckedFilterInputStream` instance.
  UncheckedFilterReader | A `FilterReader` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedFilterReader.Builder | Builds a new `UncheckedFilterReader` instance.
  UnixLineEndingInputStream | A filtering input stream that ensures the content will have UNIX-style line endings, LF.
  UnsynchronizedBufferedInputStream | An unsynchronized version of `BufferedInputStream`, not thread-safe.
  UnsynchronizedBufferedInputStream.Builder | Builds a new `UnsynchronizedBufferedInputStream` instance.
  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` instance.
  UnsynchronizedFilterInputStream | An unsynchronized version of `FilterInputStream`, not thread-safe.
  UnsynchronizedFilterInputStream.Builder | Builds a new `UnsynchronizedFilterInputStream` instance.
  WindowsLineEndingInputStream | A filtering input stream that ensures the content will have Windows line endings, CRLF.
  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` instance.

- Exception Summary
  Exception | Description
  --- | ---
  XmlStreamReaderException | The XmlStreamReaderException is thrown by the XmlStreamReader constructors if the charset encoding can not be determined according to the XML 1.0 specification and RFC 3023.

## Package org.apache.commons.io.input Description

Provides implementations of input classes, such as `InputStream` and `Reader`.

Copyright © 2002–2023 The Apache Software Foundation. All rights reserved.