Class FastByteArrayOutputStream
java.lang.Object
java.io.OutputStream
java.io.ByteArrayOutputStream
com.opensymphony.module.sitemesh.util.FastByteArrayOutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
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.
- Version:
- $Revision: 1.2 $
- Author:
- Rickard �berg, Scott Farquhar
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate byte[]Internal buffer.private LinkedListprivate static final intprivate intprivate intFields inherited from class java.io.ByteArrayOutputStream
buf, count -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.io.ByteArrayOutputStream
toString, toString, writeBytesMethods inherited from class java.io.OutputStream
nullOutputStream, write
-
Field Details
-
DEFAULT_BLOCK_SIZE
private static final int DEFAULT_BLOCK_SIZE- See Also:
-
buffer
private byte[] bufferInternal buffer. -
buffers
-
index
private int index -
size
private int size -
blockSize
private int blockSize
-
-
Constructor Details
-
FastByteArrayOutputStream
public FastByteArrayOutputStream() -
FastByteArrayOutputStream
public FastByteArrayOutputStream(int aSize)
-
-
Method Details
-
writeTo
- Overrides:
writeToin classByteArrayOutputStream- Throws:
IOException
-
size
public int size()- Overrides:
sizein classByteArrayOutputStream
-
toByteArray
public byte[] toByteArray()- Overrides:
toByteArrayin classByteArrayOutputStream
-
write
public void write(int datum) - Overrides:
writein classByteArrayOutputStream
-
write
public void write(byte[] data, int offset, int length) - Overrides:
writein classByteArrayOutputStream
-
reset
public void reset()- Overrides:
resetin classByteArrayOutputStream
-
toString
- Overrides:
toStringin classByteArrayOutputStream- Throws:
UnsupportedEncodingException
-
toString
- Overrides:
toStringin classByteArrayOutputStream
-
flush
- Specified by:
flushin interfaceFlushable- Overrides:
flushin classOutputStream- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classByteArrayOutputStream- Throws:
IOException
-