Package org.apache.commons.io.output

# Class ChunkedOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.commons.io.output.ChunkedOutputStream

All Implemented Interfaces:
  `Closeable`, `Flushable`, `AutoCloseable`

public class ChunkedOutputStream extends FilterOutputStream
OutputStream which breaks larger output blocks into chunks. Native code may need to copy the input array; if the write buffer is very large this can cause OOME.

Since:
  2.5

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `ChunkedOutputStream.Builder`
  Builds a new `UnsynchronizedByteArrayOutputStream` instance.

- ## Field Summary

  ### Fields inherited from class java.io.FilterOutputStream

  `out`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ChunkedOutputStream(OutputStream stream)`
  Deprecated.
  Use `builder()`, `ChunkedOutputStream.Builder`, and `ChunkedOutputStream.Builder.get()`
  `ChunkedOutputStream(OutputStream stream, int chunkSize)`
  Deprecated.
  Use `builder()`, `ChunkedOutputStream.Builder`, and `ChunkedOutputStream.Builder.get()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static ChunkedOutputStream.Builder`
  `builder()`
  Constructs a new `ChunkedOutputStream.Builder`.
  `void`
  `write(byte[] data, int srcOffset, int length)`
  Writes the data buffer in chunks to the underlying stream

  ### Methods inherited from class java.io.FilterOutputStream

  `close, flush, write, write`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ChunkedOutputStream

    @Deprecated public ChunkedOutputStream(OutputStream stream)
    Deprecated.
    Use `builder()`, `ChunkedOutputStream.Builder`, and `ChunkedOutputStream.Builder.get()`
    Constructs a new stream that uses a chunk size of `IOUtils.DEFAULT_BUFFER_SIZE`.
    Parameters:
      `stream` - the stream to wrap

  - ### ChunkedOutputStream

    @Deprecated public ChunkedOutputStream(OutputStream stream, int chunkSize)
    Deprecated.
    Use `builder()`, `ChunkedOutputStream.Builder`, and `ChunkedOutputStream.Builder.get()`
    Constructs a new stream that uses the specified chunk size.
    Parameters:
      `stream` - the stream to wrap
      `chunkSize` - the chunk size to use; must be a positive number.
    Throws:
      `IllegalArgumentException` - if the chunk size is <= 0

- ## Method Details

  - ### builder

    public static ChunkedOutputStream.Builder builder()
    Constructs a new `ChunkedOutputStream.Builder`.
    Returns:
      a new `ChunkedOutputStream.Builder`.
    Since:
      2.13.0

  - ### write

    public void write(byte[] data, int srcOffset, int length) throws IOException
    Writes the data buffer in chunks to the underlying stream
    Overrides:
      `write` in class `FilterOutputStream`
    Parameters:
      `data` - the data to write
      `srcOffset` - the offset
      `length` - the length of data to write
    Throws:
      `IOException` - if an I/O error occurs.