# Package org.apache.commons.io.output

package org.apache.commons.io.output
Provides implementations of output classes, such as `OutputStream` and `Writer`.

- Related Packages
  Package
  Description
  org.apache.commons.io
  Provides classes for working with streams, readers, writers and files.
- Class
  Description
  AbstractByteArrayOutputStream<T extends AbstractByteArrayOutputStream<T>>
  This is the base class for implementing an output stream in which the data is written into a byte array.
  AbstractByteArrayOutputStream.InputStreamConstructor<T extends InputStream>
  Constructor for an InputStream subclass.
  AppendableOutputStream<T extends Appendable>
  OutputStream implementation that writes the data to an `Appendable` Object.
  AppendableWriter<T extends Appendable>
  Writer implementation that writes the data to an `Appendable` Object.
  BrokenOutputStream
  Always throws an exception from all `OutputStream` methods where `IOException` is declared.
  BrokenWriter
  Always throws an exception from all `Writer` methods where `IOException` is declared.
  ByteArrayOutputStream
  Implements a ThreadSafe version of `AbstractByteArrayOutputStream` using instance synchronization.
  ChunkedOutputStream
  OutputStream which breaks larger output blocks into chunks.
  ChunkedOutputStream.Builder
  Builds a new `ChunkedOutputStream`.
  ChunkedWriter
  Writer which breaks larger output blocks into chunks.
  ClosedOutputStream
  Throws an IOException on all attempts to write to the stream.
  ClosedWriter
  Throws an IOException on all attempts to write with `ClosedWriter.close()` implemented as a noop.
  CloseShieldOutputStream
  Proxy stream that prevents the underlying output stream from being closed.
  CloseShieldWriter
  Proxy writer that prevents the underlying writer from being closed.
  CountingOutputStream
  A decorating output stream that counts the number of bytes that have passed through.
  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`.
  DemuxOutputStream
  Forwards data to a stream that has been associated with this thread.
  FileWriterWithEncoding
  Writer of files that allows the encoding to be set.
  FileWriterWithEncoding.Builder
  Builds a new `FileWriterWithEncoding`.
  FilterCollectionWriter
  Abstract class for writing filtered character streams to a `Collection` of writers.
  FlushShieldOutputStream
  Re-implements `FilterOutputStream.flush()` to do nothing.
  FlushShieldOutputStream.Builder
  Builds a new `FlushShieldOutputStream`.
  LockableFileWriter
  FileWriter that will create and honor lock files to allow simple cross thread file lock handling.
  LockableFileWriter.Builder
  Builds a new `LockableFileWriter`.
  NullAppendable
  Appends all data to the famous /dev/null.
  NullOutputStream
  Never writes data.
  NullPrintStream
  Never prints data.
  NullWriter
  Never writes data.
  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.
  ProxyOutputStream
  An output stream proxy which delegates to the wrapped output stream.
  ProxyOutputStream.Builder
  Builds instances of `ProxyOutputStream`.
  ProxyWriter
  A writer proxy which delegates to the wrapped writer.
  QueueOutputStream
  Simple alternative to JDK `PipedOutputStream`; queue input stream provides what's written in queue output stream.
  RandomAccessFileOutputStream
  An `OutputStream` that writes to a `RandomAccessFile`.
  RandomAccessFileOutputStream.Builder
  Builds a new `RandomAccessFileOutputStream`.
  StringBuilderWriter
  `Writer` implementation that outputs to a `StringBuilder`.
  TaggedOutputStream
  An output stream decorator that tags potential exceptions so that the stream 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.
  TeeOutputStream
  Classic splitter of `OutputStream`.
  TeeWriter
  Classic splitter of `Writer`.
  ThresholdingOutputStream
  An output stream which triggers an event on the first write that causes the total number of bytes written to the stream to exceed a configured threshold, and every subsequent write.
  UncheckedAppendable
  An `Appendable` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedFilterOutputStream
  A `FilterOutputStream` that throws `UncheckedIOException` instead of `UncheckedIOException`.
  UncheckedFilterOutputStream.Builder
  Builds a new `UncheckedFilterOutputStream`.
  UncheckedFilterWriter
  A `FilterWriter` that throws `UncheckedIOException` instead of `IOException`.
  UncheckedFilterWriter.Builder
  Builds a new `UncheckedFilterWriter`.
  UnsynchronizedByteArrayOutputStream
  Implements a version of `AbstractByteArrayOutputStream` without any concurrent thread safety.
  UnsynchronizedByteArrayOutputStream.Builder
  Builds a new `UnsynchronizedByteArrayOutputStream`.
  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`.
  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`.