Class ChunkedWriter

java.lang.Object
java.io.Writer
java.io.FilterWriter
org.apache.commons.io.output.ChunkedWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable, AutoCloseable

public class ChunkedWriter extends FilterWriter
Writer 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. 8192 bytes.
      See Also:
    • chunkSize

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

    • ChunkedWriter

      public ChunkedWriter(Writer writer)
      Creates a new writer that uses a chunk size of DEFAULT_CHUNK_SIZE
      Parameters:
      writer - the writer to wrap
    • ChunkedWriter

      public ChunkedWriter(Writer writer, int chunkSize)
      Creates a new writer that uses the specified chunk size.
      Parameters:
      writer - the writer to wrap
      chunkSize - the chunk size to use; must be a positive number.
      Throws:
      IllegalArgumentException - if the chunk size is <= 0
  • Method Details

    • write

      public void write(char[] data, int srcOffset, int length) throws IOException
      writes the data buffer in chunks to the underlying writer
      Overrides:
      write in class FilterWriter
      Parameters:
      data - The data
      srcOffset - the offset
      length - the number of bytes to write
      Throws:
      IOException - upon error