Class FastByteArrayOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.ByteArrayOutputStream
-
- com.opensymphony.module.sitemesh.util.FastByteArrayOutputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
public class FastByteArrayOutputStream extends java.io.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 Oberg, Scott Farquhar
-
-
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()
java.lang.String
toString()
java.lang.String
toString(java.lang.String enc)
void
write(byte[] data, int offset, int length)
void
write(int datum)
void
writeTo(java.io.OutputStream out)
-
-
-
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 java.util.LinkedList buffers
-
index
private int index
-
size
private int size
-
blockSize
private int blockSize
-
-
Method Detail
-
writeTo
public void writeTo(java.io.OutputStream out) throws java.io.IOException
- Overrides:
writeTo
in classjava.io.ByteArrayOutputStream
- Throws:
java.io.IOException
-
size
public int size()
- Overrides:
size
in classjava.io.ByteArrayOutputStream
-
toByteArray
public byte[] toByteArray()
- Overrides:
toByteArray
in classjava.io.ByteArrayOutputStream
-
write
public void write(int datum)
- Overrides:
write
in classjava.io.ByteArrayOutputStream
-
write
public void write(byte[] data, int offset, int length)
- Overrides:
write
in classjava.io.ByteArrayOutputStream
-
reset
public void reset()
- Overrides:
reset
in classjava.io.ByteArrayOutputStream
-
toString
public java.lang.String toString(java.lang.String enc) throws java.io.UnsupportedEncodingException
- Overrides:
toString
in classjava.io.ByteArrayOutputStream
- Throws:
java.io.UnsupportedEncodingException
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.io.ByteArrayOutputStream
-
flush
public void flush() throws java.io.IOException
- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.ByteArrayOutputStream
- Throws:
java.io.IOException
-
-