org.apache.poi.util
Class LittleEndianInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by org.apache.poi.util.LittleEndianInputStream
All Implemented Interfaces:
java.io.Closeable, LittleEndianInput
Direct Known Subclasses:
ChunkedCipherInputStream

public class LittleEndianInputStream
extends java.io.FilterInputStream
implements LittleEndianInput

Wraps an InputStream providing LittleEndianInput

This class does not buffer any input, so the stream read position maintained by this class is consistent with that of the inner stream.


Field Summary
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
LittleEndianInputStream(java.io.InputStream is)
           
 
Method Summary
 int available()
           
 byte readByte()
           
 double readDouble()
           
 void readFully(byte[] buf)
           
 void readFully(byte[] buf, int off, int len)
           
 int readInt()
           
 long readLong()
           
 void readPlain(byte[] buf, int off, int len)
          Usually acts the same as LittleEndianInput.readFully(byte[], int, int), but for an encrypted stream the raw (unencrypted) data is filled
 short readShort()
           
 int readUByte()
           
 long readUInt()
          get an unsigned int value from an InputStream
 int readUShort()
           
 
Methods inherited from class java.io.FilterInputStream
close, mark, markSupported, read, read, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LittleEndianInputStream

public LittleEndianInputStream(java.io.InputStream is)
Method Detail

available

public int available()
Specified by:
available in interface LittleEndianInput
Overrides:
available in class java.io.FilterInputStream

readByte

public byte readByte()
Specified by:
readByte in interface LittleEndianInput

readUByte

public int readUByte()
Specified by:
readUByte in interface LittleEndianInput

readDouble

public double readDouble()
Specified by:
readDouble in interface LittleEndianInput

readInt

public int readInt()
Specified by:
readInt in interface LittleEndianInput

readUInt

public long readUInt()
get an unsigned int value from an InputStream

Returns:
the unsigned int (32-bit) value
Throws:
java.lang.RuntimeException - wraps any IOException thrown from reading the stream.

readLong

public long readLong()
Specified by:
readLong in interface LittleEndianInput

readShort

public short readShort()
Specified by:
readShort in interface LittleEndianInput

readUShort

public int readUShort()
Specified by:
readUShort in interface LittleEndianInput

readFully

public void readFully(byte[] buf)
Specified by:
readFully in interface LittleEndianInput

readFully

public void readFully(byte[] buf,
                      int off,
                      int len)
Specified by:
readFully in interface LittleEndianInput

readPlain

public void readPlain(byte[] buf,
                      int off,
                      int len)
Description copied from interface: LittleEndianInput
Usually acts the same as LittleEndianInput.readFully(byte[], int, int), but for an encrypted stream the raw (unencrypted) data is filled

Specified by:
readPlain in interface LittleEndianInput
Parameters:
buf - the byte array to receive the bytes
off - the start offset into the byte array
len - the amount of bytes to fill