# Package org.apache.commons.io.input

This package provides implementations of input classes, such as `InputStream` and `Reader`.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  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.
  BOMInputStream | This class is used to wrap a stream that includes an encoded `ByteOrderMark` as its first bytes.
  BoundedInputStream | This is a stream that will only supply bytes up to a certain length - if its position goes above that, it will stop.
  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 | Broken input stream.
  BrokenReader | Broken reader.
  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`.
  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 | `InputStream` implementation that can read from String, StringBuffer, StringBuilder or CharBuffer.
  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 | Closed input stream.
  ClosedReader | Closed reader.
  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.
  MessageDigestCalculatingInputStream | This class is an example for using an `ObservableInputStream`.
  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.
  RandomAccessFileInputStream | Streams data from a `RandomAccessFile` starting at its current position.
  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.
  ReaderInputStream | `InputStream` implementation that reads a character stream from a `Reader` and transforms it to a byte stream using a specified charset encoding.
  ReversedLinesFileReader | Reads lines in a file reversely (similar to a BufferedReader, but starting at the last line).
  SequenceReader | Provides the contents of multiple Readers 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.
  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.
  UnixLineEndingInputStream | A filtering input stream that ensures the content will have UNIX-style line endings, LF.
  UnsynchronizedByteArrayInputStream | This is an alternative to `ByteArrayInputStream` which removes the synchronization overhead for non-concurrent access; as such this class is not thread-safe.
  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.

- 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

This package provides implementations of input classes, such as `InputStream` and `Reader`.

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