Class ByteBufferOutputStream2
java.lang.Object
java.io.OutputStream
org.eclipse.jetty.io.ByteBufferOutputStream2
- All Implemented Interfaces:
Closeable, Flushable, AutoCloseable
This class implements an output stream in which the data is written into a list of ByteBuffer,
the buffer list automatically grows as data is written to it, the buffers are taken from the
supplied
ByteBufferPool or freshly allocated if one is not supplied.
Designed to mimic ByteArrayOutputStream but with better memory usage, and less copying.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()intsize()Take the combined buffer containing all content written to the OutputStream.byte[]Take the combined buffer containing all content written to the OutputStream.toString()voidwrite(byte[] b, int off, int len) voidwrite(int b) voidwrite(ByteBuffer buffer) voidwriteTo(OutputStream out) voidwriteTo(ByteBuffer buffer) Methods inherited from class OutputStream
flush, nullOutputStream, write
-
Constructor Details
-
ByteBufferOutputStream2
public ByteBufferOutputStream2() -
ByteBufferOutputStream2
-
-
Method Details
-
takeByteBuffer
Take the combined buffer containing all content written to the OutputStream. The caller is responsible for releasing thisRetainableByteBuffer.- Returns:
- a buffer containing all content written to the OutputStream.
-
toByteBuffer
Take the combined buffer containing all content written to the OutputStream. The returned buffer is still contained within the OutputStream and will be released when the OutputStream is closed.- Returns:
- a buffer containing all content written to the OutputStream.
-
toByteArray
public byte[] toByteArray()- Returns:
- a newly allocated byte array containing all content written into the OutputStream.
-
size
public int size() -
write
public void write(int b) - Specified by:
writein classOutputStream
-
write
public void write(byte[] b, int off, int len) - Overrides:
writein classOutputStream
-
write
-
writeTo
-
writeTo
- Throws:
IOException
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classOutputStream
-
toString
-