Class FastByteArrayOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.ByteArrayOutputStream
-
- com.opensymphony.module.sitemesh.util.FastByteArrayOutputStream
-
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
public class FastByteArrayOutputStream extends ByteArrayOutputStream
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
Fields Modifier and Type Field Description private int
blockSize
private byte[]
buffer
Internal buffer.private LinkedList
buffers
private static int
DEFAULT_BLOCK_SIZE
private int
index
private int
size
-
Fields inherited from class java.io.ByteArrayOutputStream
buf, count
-
-
Constructor Summary
Constructors Constructor Description FastByteArrayOutputStream()
FastByteArrayOutputStream(int aSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
flush()
void
reset()
int
size()
byte[]
toByteArray()
String
toString()
String
toString(String enc)
void
write(byte[] data, int offset, int length)
void
write(int datum)
void
writeTo(OutputStream out)
-
Methods inherited from class java.io.ByteArrayOutputStream
toString, toString, writeBytes
-
Methods inherited from class java.io.OutputStream
nullOutputStream, write
-
-
-
-
Field Detail
-
DEFAULT_BLOCK_SIZE
private static final int DEFAULT_BLOCK_SIZE
- See Also:
- Constant Field Values
-
buffer
private byte[] buffer
Internal buffer.
-
buffers
private LinkedList buffers
-
index
private int index
-
size
private int size
-
blockSize
private int blockSize
-
-
Method Detail
-
writeTo
public void writeTo(OutputStream out) throws IOException
- Overrides:
writeTo
in classByteArrayOutputStream
- Throws:
IOException
-
size
public int size()
- Overrides:
size
in classByteArrayOutputStream
-
toByteArray
public byte[] toByteArray()
- Overrides:
toByteArray
in classByteArrayOutputStream
-
write
public void write(int datum)
- Overrides:
write
in classByteArrayOutputStream
-
write
public void write(byte[] data, int offset, int length)
- Overrides:
write
in classByteArrayOutputStream
-
reset
public void reset()
- Overrides:
reset
in classByteArrayOutputStream
-
toString
public String toString(String enc) throws UnsupportedEncodingException
- Overrides:
toString
in classByteArrayOutputStream
- Throws:
UnsupportedEncodingException
-
toString
public String toString()
- Overrides:
toString
in classByteArrayOutputStream
-
flush
public void flush() throws IOException
- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classOutputStream
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classByteArrayOutputStream
- Throws:
IOException
-
-