org.jagatoo.util.streams
Class LittleEndianDataInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by org.jagatoo.util.streams.LittleEndianDataInputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataInput

public class LittleEndianDataInputStream
extends java.io.FilterInputStream
implements java.io.DataInput

Data input class with low level binary IO operations. The methods in this class read little endian data and return Java big endian data.

Reading of bytes is unaffected. Also, the char io methods act the same as in the standard DataInputStream class. So in the case that multiple bytes are read in readLine() or readUTF(), the endian order is not switched!

See Also:
DataInputStream

Field Summary
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
LittleEndianDataInputStream(java.io.InputStream in)
           
 
Method Summary
 int getPointer()
           
 int read()
          
 int read(byte[] b, int off, int len)
          
 boolean readBoolean()
          
 byte readByte()
          
 char readChar()
          
 java.lang.String readCString(int maxLength, boolean alwaysReadMaxLength)
          Reads a String from the InputStream.
 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()
          
 long skip(long n)
          
 int skipBytes(int n)
          
 
Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, reset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LittleEndianDataInputStream

public LittleEndianDataInputStream(java.io.InputStream in)
Method Detail

getPointer

public final int getPointer()

read

public int read()
         throws java.io.IOException

Overrides:
read in class java.io.FilterInputStream
Throws:
java.io.IOException

read

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

Overrides:
read in class java.io.FilterInputStream
Throws:
java.io.IOException

readFully

public void readFully(byte[] b)
               throws java.io.IOException

Specified by:
readFully in interface java.io.DataInput
Throws:
java.io.IOException

readFully

public void readFully(byte[] b,
                      int off,
                      int len)
               throws java.io.IOException

Specified by:
readFully in interface java.io.DataInput
Throws:
java.io.IOException

skip

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

Overrides:
skip in class java.io.FilterInputStream
Throws:
java.io.IOException

skipBytes

public int skipBytes(int n)
              throws java.io.IOException

Specified by:
skipBytes in interface java.io.DataInput
Throws:
java.io.IOException

readBoolean

public boolean readBoolean()
                    throws java.io.IOException

Specified by:
readBoolean in interface java.io.DataInput
Throws:
java.io.IOException

readByte

public byte readByte()
              throws java.io.IOException

Specified by:
readByte in interface java.io.DataInput
Throws:
java.io.IOException

readUnsignedByte

public int readUnsignedByte()
                     throws java.io.IOException

Specified by:
readUnsignedByte in interface java.io.DataInput
Throws:
java.io.IOException

readShort

public short readShort()
                throws java.io.IOException

Specified by:
readShort in interface java.io.DataInput
Throws:
java.io.IOException

readUnsignedShort

public int readUnsignedShort()
                      throws java.io.IOException

Specified by:
readUnsignedShort in interface java.io.DataInput
Throws:
java.io.IOException

readChar

public char readChar()
              throws java.io.IOException

Specified by:
readChar in interface java.io.DataInput
Throws:
java.io.IOException

readInt

public int readInt()
            throws java.io.IOException

Specified by:
readInt in interface java.io.DataInput
Throws:
java.io.IOException

readLong

public long readLong()
              throws java.io.IOException

Specified by:
readLong in interface java.io.DataInput
Throws:
java.io.IOException

readFloat

public float readFloat()
                throws java.io.IOException

Specified by:
readFloat in interface java.io.DataInput
Throws:
java.io.IOException

readDouble

public double readDouble()
                  throws java.io.IOException

Specified by:
readDouble in interface java.io.DataInput
Throws:
java.io.IOException

readLine

public final java.lang.String readLine()
                                throws java.io.IOException

Specified by:
readLine in interface java.io.DataInput
Throws:
java.io.IOException

readUTF

public java.lang.String readUTF()
                         throws java.io.IOException

Specified by:
readUTF in interface java.io.DataInput
Throws:
java.io.IOException

readCString

public final java.lang.String readCString(int maxLength,
                                          boolean alwaysReadMaxLength)
                                   throws java.io.IOException
Reads a String from the InputStream. The string is expected to be 0-terminated.

Parameters:
in -
maxLength -
alwaysReadMaxLength -
Returns:
the read String.
Throws:
java.io.IOException