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
  • Field Details

    • DEFAULT_CHUNK_SIZE

      private static final int DEFAULT_CHUNK_SIZE
      The default chunk size to use, i.e. 4096 bytes.
      See Also:
    • chunkSize

      private final int chunkSize
      The maximum chunk size to us when writing data arrays
  • Constructor Details

    • ChunkedOutputStream

      public ChunkedOutputStream(OutputStream stream, int chunkSize)
      Creates 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
    • ChunkedOutputStream

      public ChunkedOutputStream(OutputStream stream)
      Creates a new stream that uses a chunk size of DEFAULT_CHUNK_SIZE.
      Parameters:
      stream - the stream to wrap
  • Method Details

    • 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.