org.apache.commons.io.input
Class SwappedDataInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by org.apache.commons.io.input.ProxyInputStream
              extended by org.apache.commons.io.input.SwappedDataInputStream
All Implemented Interfaces:
Closeable, DataInput

public class SwappedDataInputStream
extends ProxyInputStream
implements DataInput

DataInput for systems relying on little endian data formats. When read, values will be changed from little endian to big endian formats for internal usage.

Origin of code: Avalon Excalibur (IO)

Version:
CVS $Revision: 610010 $ $Date: 2008-01-08 14:50:59 +0000 (Tue, 08 Jan 2008) $
Author:
Peter Donald

Field Summary
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
SwappedDataInputStream(InputStream input)
          Constructs a SwappedDataInputStream.
 
Method Summary
 boolean readBoolean()
          Return readByte() == 0
 byte readByte()
          Invokes the delegate's read() method.
 char readChar()
          Reads a character delegating to readShort().
 double readDouble()
          Delegates to EndianUtils.readSwappedDouble(InputStream).
 float readFloat()
          Delegates to EndianUtils.readSwappedFloat(InputStream).
 void readFully(byte[] data)
          Invokes the delegate's read(byte[] data, int, int) method.
 void readFully(byte[] data, int offset, int length)
          Invokes the delegate's read(byte[] data, int, int) method.
 int readInt()
          Delegates to EndianUtils.readSwappedInteger(InputStream).
 String readLine()
          Not currently supported - throws UnsupportedOperationException.
 long readLong()
          Delegates to EndianUtils.readSwappedLong(InputStream).
 short readShort()
          Delegates to EndianUtils.readSwappedShort(InputStream).
 int readUnsignedByte()
          Invokes the delegate's read() method.
 int readUnsignedShort()
          Delegates to EndianUtils.readSwappedUnsignedShort(InputStream).
 String readUTF()
          Not currently supported - throws UnsupportedOperationException.
 int skipBytes(int count)
          Invokes the delegate's skip(int) method.
 
Methods inherited from class org.apache.commons.io.input.ProxyInputStream
available, 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

SwappedDataInputStream

public SwappedDataInputStream(InputStream input)
Constructs a SwappedDataInputStream.

Parameters:
input - InputStream to read from
Method Detail

readBoolean

public boolean readBoolean()
                    throws IOException,
                           EOFException
Return readByte() == 0

Specified by:
readBoolean in interface DataInput
Returns:
the true if the byte read is zero, otherwise false
Throws:
IOException - if an I/O error occurs
EOFException - if an end of file is reached unexpectedly

readByte

public byte readByte()
              throws IOException,
                     EOFException
Invokes the delegate's read() method.

Specified by:
readByte in interface DataInput
Returns:
the byte read or -1 if the end of stream
Throws:
IOException - if an I/O error occurs
EOFException - if an end of file is reached unexpectedly

readChar

public char readChar()
              throws IOException,
                     EOFException
Reads a character delegating to readShort().

Specified by:
readChar in interface DataInput
Returns:
the byte read or -1 if the end of stream
Throws:
IOException - if an I/O error occurs
EOFException - if an end of file is reached unexpectedly

readDouble

public double readDouble()
                  throws IOException,
                         EOFException
Delegates to EndianUtils.readSwappedDouble(InputStream).

Specified by:
readDouble in interface DataInput
Returns:
the read long
Throws:
IOException - if an I/O error occurs
EOFException - if an end of file is reached unexpectedly

readFloat

public float readFloat()
                throws IOException,
                       EOFException
Delegates to EndianUtils.readSwappedFloat(InputStream).

Specified by:
readFloat in interface DataInput
Returns:
the read long
Throws:
IOException - if an I/O error occurs
EOFException - if an end of file is reached unexpectedly

readFully

public void readFully(byte[] data)
               throws IOException,
                      EOFException
Invokes the delegate's read(byte[] data, int, int) method.

Specified by:
readFully in interface DataInput
Parameters:
data - the buffer to read the bytes into
Throws:
EOFException - if an end of file is reached unexpectedly
IOException - if an I/O error occurs

readFully

public void readFully(byte[] data,
                      int offset,
                      int length)
               throws IOException,
                      EOFException
Invokes the delegate's read(byte[] data, int, int) method.

Specified by:
readFully in interface DataInput
Parameters:
data - the buffer to read the bytes into
offset - The start offset
length - The number of bytes to read
Throws:
EOFException - if an end of file is reached unexpectedly
IOException - if an I/O error occurs

readInt

public int readInt()
            throws IOException,
                   EOFException
Delegates to EndianUtils.readSwappedInteger(InputStream).

Specified by:
readInt in interface DataInput
Returns:
the read long
Throws:
EOFException - if an end of file is reached unexpectedly
IOException - if an I/O error occurs

readLine

public String readLine()
                throws IOException,
                       EOFException
Not currently supported - throws UnsupportedOperationException.

Specified by:
readLine in interface DataInput
Returns:
the line read
Throws:
EOFException - if an end of file is reached unexpectedly
IOException - if an I/O error occurs

readLong

public long readLong()
              throws IOException,
                     EOFException
Delegates to EndianUtils.readSwappedLong(InputStream).

Specified by:
readLong in interface DataInput
Returns:
the read long
Throws:
EOFException - if an end of file is reached unexpectedly
IOException - if an I/O error occurs

readShort

public short readShort()
                throws IOException,
                       EOFException
Delegates to EndianUtils.readSwappedShort(InputStream).

Specified by:
readShort in interface DataInput
Returns:
the read long
Throws:
EOFException - if an end of file is reached unexpectedly
IOException - if an I/O error occurs

readUnsignedByte

public int readUnsignedByte()
                     throws IOException,
                            EOFException
Invokes the delegate's read() method.

Specified by:
readUnsignedByte in interface DataInput
Returns:
the byte read or -1 if the end of stream
Throws:
EOFException - if an end of file is reached unexpectedly
IOException - if an I/O error occurs

readUnsignedShort

public int readUnsignedShort()
                      throws IOException,
                             EOFException
Delegates to EndianUtils.readSwappedUnsignedShort(InputStream).

Specified by:
readUnsignedShort in interface DataInput
Returns:
the read long
Throws:
EOFException - if an end of file is reached unexpectedly
IOException - if an I/O error occurs

readUTF

public String readUTF()
               throws IOException,
                      EOFException
Not currently supported - throws UnsupportedOperationException.

Specified by:
readUTF in interface DataInput
Returns:
UTF String read
Throws:
EOFException - if an end of file is reached unexpectedly
IOException - if an I/O error occurs

skipBytes

public int skipBytes(int count)
              throws IOException,
                     EOFException
Invokes the delegate's skip(int) method.

Specified by:
skipBytes in interface DataInput
Parameters:
count - the number of bytes to skip
Returns:
the number of bytes to skipped or -1 if the end of stream
Throws:
EOFException - if an end of file is reached unexpectedly
IOException - if an I/O error occurs


Copyright © 2002-2008 The Apache Software Foundation. All Rights Reserved.