eu.beesoft.gaia.util
Class FastByteArrayOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by eu.beesoft.gaia.util.FastByteArrayOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class FastByteArrayOutputStream
extends java.io.OutputStream

ByteArrayOutputStream implementation that doesn't synchronize methods and doesn't copy the data on toByteArray().


Field Summary
protected  byte[] buf
          Buffer and size
protected  int size
           
 
Constructor Summary
FastByteArrayOutputStream()
          Constructs a stream with buffer capacity size 5K
FastByteArrayOutputStream(int initSize)
          Constructs a stream with the given initial size
 
Method Summary
 byte[] getByteArray()
          Returns the byte array containing the written data.
 void reset()
           
 int size()
           
 void write(byte[] b)
           
 void write(byte[] b, int off, int len)
           
 void write(int b)
           
 
Methods inherited from class java.io.OutputStream
close, flush
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

buf

protected byte[] buf
Buffer and size


size

protected int size
Constructor Detail

FastByteArrayOutputStream

public FastByteArrayOutputStream()
Constructs a stream with buffer capacity size 5K


FastByteArrayOutputStream

public FastByteArrayOutputStream(int initSize)
Constructs a stream with the given initial size

Method Detail

size

public int size()

getByteArray

public byte[] getByteArray()
Returns the byte array containing the written data. Note that this array will almost always be larger than the amount of data actually written.


write

public final void write(byte[] b)
Overrides:
write in class java.io.OutputStream

write

public final void write(byte[] b,
                        int off,
                        int len)
Overrides:
write in class java.io.OutputStream

write

public final void write(int b)
Specified by:
write in class java.io.OutputStream

reset

public void reset()