Class 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 Detail

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

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

      • 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