# All Classes and Interfaces

Class
Description
AbstractByteArrayOutputStream
This is the base class for implementing an output stream in which the data is written into a byte array.
AbstractByteArrayOutputStream.InputStreamConstructor<T>
Constructor for an InputStream subclass.
AbstractCharacterFilterReader
A filter reader that filters out characters where subclasses decide which characters to filter out.
AbstractFileFilter
Abstracts the implementation of the `FileFilter` (IO), `FilenameFilter` (IO), `PathFilter` (NIO) interfaces via our own `IOFileFilter` interface.
AbstractOrigin<T,B>
Abstracts the origin of data for builders like a `File`, `Path`, `Reader`, `Writer`, `InputStream`, `OutputStream`, and `URI`.
AbstractOrigin.ByteArrayOrigin
A `byte[]` origin.
AbstractOrigin.CharSequenceOrigin
A `CharSequence` origin.
AbstractOrigin.FileOrigin
A `File` origin.
AbstractOrigin.InputStreamOrigin
An `InputStream` origin.
AbstractOrigin.OutputStreamOrigin
An `OutputStream` origin.
AbstractOrigin.PathOrigin
A `Path` origin.
AbstractOrigin.ReaderOrigin
An `Reader` origin.
AbstractOrigin.URIOrigin
A `URI` origin.
AbstractOrigin.WriterOrigin
An `Writer` origin.
AbstractOriginSupplier<T,B>
Abstracts building an instance of `T`.
AbstractStreamBuilder<T,B>
Abstracts building a typed instance of `T`.
AbstractSupplier<T,B>
Abstracts supplying an instance of `T`.
AccumulatorPathVisitor
Accumulates normalized paths during visitation.
AgeFileFilter
Filters files based on a cutoff time, can filter either newer files or files equal to or older.
AndFileFilter
A `FileFilter` providing conditional AND logic across a list of file filters.
AppendableOutputStream<T>
OutputStream implementation that writes the data to an `Appendable` Object.
AppendableWriter<T>
Writer implementation that writes the data to an `Appendable` Object.
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.
BrokenOutputStream
Broken output stream.
BrokenReader
Always throws an `IOException` from all the `Reader` methods where the exception is declared.
BrokenWriter
Always throws an `IOException` from all `Writer` methods.
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.
ByteArrayOutputStream
Implements a ThreadSafe version of `AbstractByteArrayOutputStream` using instance synchronization.
ByteOrderMark
Byte Order Mark (BOM) representation.
ByteOrderParser
Converts Strings to `ByteOrder` instances.
CanExecuteFileFilter
This filter accepts `File`s that can be executed.
CanReadFileFilter
This filter accepts `File`s that can be read.
CanWriteFileFilter
This filter accepts `File`s that can be written to.
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.
CharsetDecoders
Works with `CharsetDecoder`.
CharsetEncoders
Works with `CharsetEncoder`.
Charsets
Charsets required of every implementation of the Java platform.
ChunkedOutputStream
OutputStream which breaks larger output blocks into chunks.
ChunkedOutputStream.Builder
Builds a new `UnsynchronizedByteArrayOutputStream` instance.
ChunkedWriter
Writer which breaks larger output blocks into chunks.
CircularBufferInputStream
Implements a buffered input stream, which is internally based on a `CircularByteBuffer`.
CircularByteBuffer
A buffer, which doesn't need reallocation of byte arrays, because it reuses a single byte array.
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.
ClassNameMatcher
An object that matches a Class name to a condition.
CleaningPathVisitor
Deletes files but not directories as a visit proceeds.
ClosedInputStream
Always returns `IOUtils.EOF` to all attempts to read something from the stream.
ClosedOutputStream
Throws an IOException on all attempts to write to the stream.
ClosedReader
Always returns `IOUtils.EOF` to all attempts to read something from it.
ClosedWriter
Throws an IOException on all attempts to write with `ClosedWriter.close()` implemented as a noop.
CloseShieldInputStream
Proxy stream that prevents the underlying input stream from being closed.
CloseShieldOutputStream
Proxy stream that prevents the underlying output stream from being closed.
CloseShieldReader
Proxy reader that prevents the underlying reader from being closed.
CloseShieldWriter
Proxy writer that prevents the underlying writer from being closed.
CompositeFileComparator
Compare two files using a set of delegate file `Comparator`.
ConditionalFileFilter
Defines operations for conditional file filters.
CopyDirectoryVisitor
Copies a source directory to a target directory.
CopyUtils
Deprecated.
Use IOUtils.
Counters
Provides counters for files, directories, and sizes, as a visit proceeds.
Counters.Counter
Counts using a number.
Counters.PathCounters
Counts files, directories, and sizes, as a visit proceeds.
CountingInputStream
A decorating input stream that counts the number of bytes that have passed through the stream so far.
CountingOutputStream
A decorating output stream that counts the number of bytes that have passed through the stream so far.
CountingPathVisitor
Counts files, directories, and sizes, as a visit proceeds.
DefaultFileComparator
Compares two files using the default `File.compareTo(File)` method.
DeferredFileOutputStream
An output stream which will retain data in memory until a specified threshold is reached, and only then commit it to disk.
DeferredFileOutputStream.Builder
Builds a new `DeferredFileOutputStream` instance.
DelegateFileFilter
This class turns a Java FileFilter or FilenameFilter into an IO FileFilter.
DeleteOption
An object that configures how to delete a file.
DeletingPathVisitor
Deletes files and directories as a visit proceeds.
DemuxInputStream
Data written to this stream is forwarded to a stream that has been associated with this thread.
DemuxOutputStream
Forwards data to a stream that has been associated with this thread.
DirectoryFileComparator
Compare two files using the `File.isDirectory()` method.
DirectoryFileFilter
This filter accepts `File`s that are directories.
DirectoryStreamFilter
A `DirectoryStream.Filter` that delegates to a `PathFilter`.
DirectoryWalker<T>
Deprecated.
Apache Commons IO no longer uses this class.
DirectoryWalker.CancelException
CancelException is thrown in DirectoryWalker to cancel the current processing.
EmptyFileFilter
This filter accepts files or directories that are empty.
EndianUtils
Helps with different endian systems.
ExtensionFileComparator
Compare the file name extensions for order (see `FilenameUtils.getExtension(String)`).
FalseFileFilter
A file filter that always returns false.
FileAlterationListener
Receives events of file system modifications.
FileAlterationListenerAdaptor
Convenience `FileAlterationListener` implementation that does nothing.
FileAlterationMonitor
A runnable that spawns a monitoring thread triggering any registered `FileAlterationObserver` at a specified interval.
FileAlterationObserver
FileAlterationObserver represents the state of files below a root directory, checking the file system and notifying listeners of create, change or delete events.
FileChannels
Works with `FileChannel`.
FileCleaner
Deprecated.
Use `FileCleaningTracker`
FileCleaningTracker
Keeps track of files awaiting deletion, and deletes them when an associated marker object is reclaimed by the garbage collector.
FileDeleteStrategy
Strategy for deleting files.
FileEntry
The state of a file or directory, capturing the following `File` attributes at a point in time.
FileEqualsFileFilter
Accepts only an exact `File` object match.
FileExistsException
Indicates that a file already exists.
FileFileFilter
This filter accepts `File`s that are files (not directories).
FileFilterUtils
Useful utilities for working with file filters.
FilenameUtils
General file name and file path manipulation utilities.
FilesUncheck
Delegates to `Files` to uncheck calls by throwing `UncheckedIOException` instead of `IOException`.
FileSystem
Abstracts an OS' file system details, currently supporting the single use case of converting a file name String to a legal file name with `FileSystem.toLegalFileName(String, char)`.
FileSystemProviders
Helps to work with `FileSystemProvider`.
FileSystemUtils
Deprecated.
As of 2.6 deprecated without replacement.
FileTimes
Helps use `FileTime` and interoperate Date and NTFS times.
FileUtils
General file manipulation utilities.
FileWriterWithEncoding
Writer of files that allows the encoding to be set.
FileWriterWithEncoding.Builder
Builds a new `FileWriterWithEncoding` instance.
FilterCollectionWriter
Abstract class for writing filtered character streams to a `Collection` of writers.
HexDump
Dumps data in hexadecimal format.
HiddenFileFilter
This filter accepts `File`s that are hidden.
InfiniteCircularInputStream
An `InputStream` that infinitely repeats the provided bytes.
IOBaseStream<T,S,B>
Like `BaseStream` but throws `IOException`.
IOBiConsumer<T,U>
Like `BiConsumer` but throws `IOException`.
IOBiFunction<T,U,R>
Like `BiFunction` but throws `IOException`.
IOBinaryOperator<T>
Like `BinaryOperator` but throws `IOException`.
IOCase
Enumeration of IO case sensitivity.
IOComparator<T>
Like `Comparator` but throws `IOException`.
IOConsumer<T>
Like `Consumer` but throws `IOException`.
IOExceptionList
An IOException based on a list of Throwable causes.
IOExceptionWithCause
Deprecated.
(since 2.5) use `IOException` instead
IOFileFilter
An interface which brings the FileFilter, FilenameFilter, and PathFilter interfaces together.
IOFunction<T,R>
Like `Function` but throws `IOException`.
IOIndexedException
A IOException associated with a source index.
IOIntSupplier
Like `IntSupplier` but throws `IOException`.
IOIterator<E>
Like `Iterator` but throws `IOException`.
IOLongSupplier
Like `LongSupplier` but throws `IOException`.
IOPredicate<T>
Like `Predicate` but throws `IOException`.
IOQuadFunction<T,U,V,W,R>
Represents a function that accepts four arguments and produces a result.
IORunnable
Like `Runnable` but throws `IOException`.
IOSpliterator<T>
Like `Spliterator` but throws `IOException`.
IOStream<T>
Like `Stream` but throws `IOException`.
IOSupplier<T>
Like `Supplier` but throws `IOException`.
IOTriConsumer<T,U,V>
Like `BiConsumer` but throws `IOException`.
IOTriFunction<T,U,V,R>
Represents a function that accepts three arguments and produces a result.
IOUnaryOperator<T>
Like `UnaryOperator` but throws `IOException`.
IOUtils
General IO stream manipulation utilities.
LastModifiedFileComparator
Compare the last modified date/time of two files for order (see `FileUtils.lastModifiedUnchecked(File)`).
LineIterator
An Iterator over the lines in a `Reader`.
LockableFileWriter
FileWriter that will create and honor lock files to allow simple cross thread file lock handling.
LockableFileWriter.Builder
Builds a new `LockableFileWriter` instance.
MagicNumberFileFilter
File filter for matching files containing a "magic number".
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
Deprecated.
Use `MessageDigestInputStream`.
MessageDigestCalculatingInputStream.Builder
Builds a new `MessageDigestCalculatingInputStream` instance.
MessageDigestCalculatingInputStream.MessageDigestMaintainingObserver
Maintains the message digest.
MessageDigestInputStream
This class is an example for using an `ObservableInputStream`.
MessageDigestInputStream.Builder
Builds new `MessageDigestInputStream` instances.
MessageDigestInputStream.MessageDigestMaintainingObserver
Maintains the message digest.
NameFileComparator
Compare the names of two files for order (see `File.getName()`).
NameFileFilter
Filters file names for a certain name.
NoopPathVisitor
A noop path visitor.
NotFileFilter
This filter produces a logical NOT of the filters specified.
NullAppendable
Appends all data to the famous /dev/null.
NullInputStream
A functional, light weight `InputStream` that emulates a stream of a specified size.
NullOutputStream
Never writes data.
NullPrintStream
Never prints data.
NullReader
A functional, light weight `Reader` that emulates a reader of a specified size.
NullWriter
Never writes data.
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.
OrFileFilter
A `FileFilter` providing conditional OR logic across a list of file filters.
PathEqualsFileFilter
Accepts only an exact `Path` object match.
PathFileComparator
Compare the path of two files for order (see `File.getPath()`).
PathFilter
A filter for `Path`s.
PathMatcherFileFilter
Delegates matching to a `PathMatcher`.
PathUtils
NIO Path utilities.
PathVisitor
A `FileVisitor` typed to a `Path`.
PathVisitorFileFilter
A file filter backed by a path visitor.
PeekableInputStream
Implements a buffered input stream, which allows to peek into the buffers first bytes.
PrefixFileFilter
Filters file names for a certain prefix.
ProxyCollectionWriter
A Proxy stream collection which acts as expected, that is it passes the method calls on to the proxied streams and doesn't change which methods are being called.
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.
ProxyOutputStream
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.
ProxyWriter
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.
QueueOutputStream
Simple alternative to JDK `PipedOutputStream`; queue input stream provides what's written in queue output stream.
RandomAccessFileInputStream
Streams data from a `RandomAccessFile` starting at its current position.
RandomAccessFileInputStream.Builder
Builds a new `RandomAccessFileInputStream` instance.
RandomAccessFileMode
Access modes and factory methods for `RandomAccessFile`.
RandomAccessFiles
Works with `RandomAccessFile`.
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.
RegexFileFilter
Filters files using supplied regular expression(s).
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.
SimplePathVisitor
A `SimpleFileVisitor` typed to a `Path`.
SizeFileComparator
Compare the length/size of two files for order (see `File.length()` and `FileUtils.sizeOfDirectory(File)`).
SizeFileFilter
Filters files based on size, can filter either smaller files or files equal to or larger than a given threshold.
StandardDeleteOption
Defines the standard delete options.
StandardLineSeparator
Enumerates standard line separators: `StandardLineSeparator.CR`, `StandardLineSeparator.CRLF`, `StandardLineSeparator.LF`.
StreamIterator<E>
Wraps and presents a `Stream` as a `AutoCloseable` `Iterator` resource that automatically closes itself when reaching the end of stream.
StringBuilderWriter
`Writer` implementation that outputs to a `StringBuilder`.
SuffixFileFilter
Filters files based on the suffix (what the file name ends with).
SwappedDataInputStream
DataInput for systems relying on little endian data formats.
SymbolicLinkFileFilter
This filter accepts `File`s that are symbolic links.
TaggedInputStream
An input stream decorator that tags potential exceptions so that the stream that caused the exception can easily be identified.
TaggedIOException
An `IOException` decorator that adds a serializable tag to the wrapped exception.
TaggedOutputStream
An output 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.
TaggedWriter
A writer 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.
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`.
TailerListenerAdapter
`TailerListener` Adapter.
TeeInputStream
InputStream proxy that transparently writes a copy of all bytes read from the proxied stream to a given OutputStream.
TeeOutputStream
Classic splitter of `OutputStream`.
TeeReader
Reader proxy that transparently writes a copy of all characters read from the proxied reader to a given Reader.
TeeWriter
Classic splitter of `Writer`.
ThreadUtils
Helps work with threads.
ThresholdingOutputStream
An output stream which triggers an event when a specified number of bytes of data have been written to it.
TimestampedObserver
An observer with timestamps.
TrueFileFilter
A file filter that always returns true.
Uncheck
Unchecks calls by throwing `UncheckedIOException` instead of `IOException`.
UncheckedAppendable
An `Appendable` that throws `UncheckedIOException` instead of `IOException`.
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.
UncheckedFilterOutputStream
A `FilterOutputStream` that throws `UncheckedIOException` instead of `UncheckedIOException`.
UncheckedFilterOutputStream.Builder
Builds a new `UncheckedFilterOutputStream` instance.
UncheckedFilterReader
A `FilterReader` that throws `UncheckedIOException` instead of `IOException`.
UncheckedFilterReader.Builder
Builds a new `UncheckedFilterReader` instance.
UncheckedFilterWriter
A `FilterWriter` that throws `UncheckedIOException` instead of `IOException`.
UncheckedFilterWriter.Builder
Builds a new `UncheckedFilterWriter` 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.
UnsynchronizedByteArrayOutputStream
Implements a version of `AbstractByteArrayOutputStream` without any concurrent thread safety.
UnsynchronizedByteArrayOutputStream.Builder
Builds a new `UnsynchronizedByteArrayOutputStream` instance.
UnsynchronizedFilterInputStream
An unsynchronized version of `FilterInputStream`, not thread-safe.
UnsynchronizedFilterInputStream.Builder
Builds a new `UnsynchronizedFilterInputStream` instance.
ValidatingObjectInputStream
An `ObjectInputStream` that's restricted to deserialize a limited set of classes.
WildcardFileFilter
Filters files using the supplied wildcards.
WildcardFileFilter.Builder
Builds a new `WildcardFileFilter` instance.
WildcardFilter
Deprecated.
Use WildcardFileFilter.
WindowsLineEndingInputStream
A filtering input stream that ensures the content will have Windows line endings, CRLF.
WriterOutputStream
`OutputStream` implementation that transforms a byte stream to a character stream using a specified charset encoding and writes the resulting stream to a `Writer`.
WriterOutputStream.Builder
Builds a new `WriterOutputStream` instance.
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.
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.
XmlStreamWriter
Character stream that handles all the necessary work to figure out the charset encoding of the XML document written to the stream.
XmlStreamWriter.Builder
Builds a new `XmlStreamWriter` instance.