Package org.apache.struts2.util

# Class FastByteArrayOutputStream

java.lang.Object
java.io.OutputStream
org.apache.struts2.util.FastByteArrayOutputStream

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

public class FastByteArrayOutputStream extends OutputStream
A speedy implementation of ByteArrayOutputStream. It's not synchronized, and it does not copy buffers when it's expanded. There's also no copying of the internal buffer if it's contents is extracted with the writeTo(stream) method.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FastByteArrayOutputStream()`
  `FastByteArrayOutputStream(int blockSize)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `addBuffer()`
  `void`
  `close()`
  `int`
  `getSize()`
  `byte[]`
  `toByteArray()`
  `String`
  `toString()`
  `void`
  `write(byte[] data, int offset, int length)`
  `void`
  `write(int datum)`
  `void`
  `writeTo(jakarta.servlet.jsp.JspWriter out, String encoding)`
  This is a patched method (standard)
  `void`
  `writeTo(OutputStream out)`
  `void`
  `writeTo(RandomAccessFile out)`
  `void`
  `writeTo(Writer out, String encoding)`
  This is a patched method (added for common Writer, needed for tests)

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

  `flush, nullOutputStream, write`

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

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

- ## Constructor Details

  - ### FastByteArrayOutputStream

    public FastByteArrayOutputStream()

  - ### FastByteArrayOutputStream

    public FastByteArrayOutputStream(int blockSize)

- ## Method Details

  - ### writeTo

    public void writeTo(OutputStream out) throws IOException
    Throws:
      `IOException`

  - ### writeTo

    public void writeTo(RandomAccessFile out) throws IOException
    Throws:
      `IOException`

  - ### writeTo

    public void writeTo(Writer out, String encoding) throws IOException
    This is a patched method (added for common Writer, needed for tests)
    Parameters:
      `out` - Writer
      `encoding` - Encoding
    Throws:
      `IOException` - If some output failed

  - ### writeTo

    public void writeTo(jakarta.servlet.jsp.JspWriter out, String encoding) throws IOException
    This is a patched method (standard)
    Parameters:
      `out` - Writer
      `encoding` - Encoding
    Throws:
      `IOException` - If some output failed

  - ### getSize

    public int getSize()

  - ### toByteArray

    public byte[] toByteArray()

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### addBuffer

    protected void addBuffer()

  - ### write

    public void write(int datum) throws IOException
    Specified by:
      `write` in class `OutputStream`
    Throws:
      `IOException`

  - ### write

    public void write(byte[] data, int offset, int length) throws IOException
    Overrides:
      `write` in class `OutputStream`
    Throws:
      `IOException`

  - ### close

    public void close()
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Overrides:
      `close` in class `OutputStream`