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

    • ChunkedWriter

      public ChunkedWriter(Writer writer)
      Constructs 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)
      Constructs 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:
      NullPointerException - if the data is null.
      IndexOutOfBoundsException - if srcOffset or length are negative, or if srcOffset + length is greater than data.length.
      IOException - If an I/O error occurs.