com.smaxe.io
Class ByteArrayInputStream

java.lang.Object
  extended by RandomAccessInputStream
      extended by com.smaxe.io.ByteArrayInputStream
All Implemented Interfaces:
java.io.DataInput

public final class ByteArrayInputStream
extends RandomAccessInputStream
implements java.io.DataInput

ByteArrayInputStream - InputStream implementation based on byte array.

Note: The implementation is:
- not thread-safe.
- 1.1 compatible
DataInput implementation is AMF0(3) compatible (rather than DataInputStream).

Author:
Andrei Sochirca

Constructor Summary
ByteArrayInputStream(byte[] buf)
          Constructor.
ByteArrayInputStream(byte[] buf, int offset)
          Constructor.
ByteArrayInputStream(byte[] buf, int offset, int length)
          Constructor.
ByteArrayInputStream(ByteArray buf)
          Constructor.
 
Method Summary
 int available()
           
 ByteArray getArray()
           
 long getPosition()
           
 int getRead()
           
 void mark(int readlimit)
           
 boolean markSupported()
           
 int read()
           
 int read(byte[] b, int off, int len)
           
 ByteArray read(long n)
          Reads n bytes into the new byte array.
 boolean readBoolean()
           
 byte readByte()
           
 char readChar()
           
 double readDouble()
           
 float readFloat()
           
 void readFully(byte[] b)
           
 void readFully(byte[] b, int off, int len)
           
 int readInt()
           
 java.lang.String readLine()
           
 long readLong()
           
 short readShort()
           
 int readUnsignedByte()
           
 int readUnsignedShort()
           
 java.lang.String readUTF()
           
 void reset()
           
 void seek(long pos)
           
 long skip(long n)
           
 int skipBytes(int n)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ByteArrayInputStream

public ByteArrayInputStream(byte[] buf)
Constructor.

Parameters:
buf -

ByteArrayInputStream

public ByteArrayInputStream(byte[] buf,
                            int offset)
Constructor.

Parameters:
buf -
offset -

ByteArrayInputStream

public ByteArrayInputStream(byte[] buf,
                            int offset,
                            int length)
Constructor.

Parameters:
buf -
offset -
length -

ByteArrayInputStream

public ByteArrayInputStream(ByteArray buf)
Constructor.

Parameters:
buf -
Method Detail

available

public final int available()
                    throws java.io.IOException
Throws:
java.io.IOException

read

public int read()
         throws java.io.IOException
Throws:
java.io.IOException

read

public int read(byte[] b,
                int off,
                int len)
         throws java.io.IOException
Throws:
java.io.IOException

skip

public long skip(long n)
          throws java.io.IOException
Throws:
java.io.IOException

mark

public void mark(int readlimit)

reset

public void reset()
           throws java.io.IOException
Throws:
java.io.IOException

markSupported

public boolean markSupported()

getPosition

public long getPosition()
                 throws java.io.IOException
Throws:
java.io.IOException

seek

public void seek(long pos)
          throws java.io.IOException
Throws:
java.io.IOException

readBoolean

public boolean readBoolean()
                    throws java.io.EOFException,
                           java.io.IOException
Specified by:
readBoolean in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readByte

public byte readByte()
              throws java.io.EOFException,
                     java.io.IOException
Specified by:
readByte in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readChar

public char readChar()
              throws java.io.EOFException,
                     java.io.IOException
Specified by:
readChar in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readDouble

public double readDouble()
                  throws java.io.EOFException,
                         java.io.IOException
Specified by:
readDouble in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readFloat

public float readFloat()
                throws java.io.EOFException,
                       java.io.IOException
Specified by:
readFloat in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readFully

public void readFully(byte[] b)
               throws java.io.EOFException,
                      java.io.IOException
Specified by:
readFully in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readFully

public void readFully(byte[] b,
                      int off,
                      int len)
               throws java.io.EOFException,
                      java.io.IOException
Specified by:
readFully in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readInt

public int readInt()
            throws java.io.EOFException,
                   java.io.IOException
Specified by:
readInt in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readLine

public java.lang.String readLine()
                          throws java.io.EOFException,
                                 java.io.IOException
Specified by:
readLine in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readLong

public long readLong()
              throws java.io.EOFException,
                     java.io.IOException
Specified by:
readLong in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readShort

public short readShort()
                throws java.io.EOFException,
                       java.io.IOException
Specified by:
readShort in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readUTF

public java.lang.String readUTF()
                         throws java.io.EOFException,
                                java.io.IOException
Specified by:
readUTF in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readUnsignedByte

public int readUnsignedByte()
                     throws java.io.EOFException,
                            java.io.IOException
Specified by:
readUnsignedByte in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

readUnsignedShort

public int readUnsignedShort()
                      throws java.io.EOFException,
                             java.io.IOException
Specified by:
readUnsignedShort in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

skipBytes

public int skipBytes(int n)
              throws java.io.EOFException,
                     java.io.IOException
Specified by:
skipBytes in interface java.io.DataInput
Throws:
java.io.EOFException
java.io.IOException

getArray

public final ByteArray getArray()
Returns:
array buffer

getRead

public final int getRead()
Returns:
number of read bytes

read

public ByteArray read(long n)
               throws java.io.IOException
Reads n bytes into the new byte array.

Parameters:
n - number of bytes to read
Returns:
byte array which contains n bytes
Throws:
java.io.IOException - if an I/O exception occurred