Class SwappedDataInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.io.DataInput, java.lang.AutoCloseable

    public class SwappedDataInputStream
    extends ProxyInputStream
    implements java.io.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.

    Provenance: Avalon Excalibur (IO)

    • Constructor Summary

      Constructors 
      Constructor Description
      SwappedDataInputStream​(java.io.InputStream input)
      Constructs a SwappedDataInputStream.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean readBoolean()
      Return readByte() != 0
      byte readByte()
      Invokes the delegate's read() method.
      char readChar()
      Reads a 2 byte, unsigned, little endian UTF-16 code point.
      double readDouble()
      Reads an 8 byte, two's complement, little-endian long.
      float readFloat()
      Reads a 4 byte, IEEE 754, little-endian float.
      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()
      Reads a 4 byte, two's complement little-endian integer.
      java.lang.String readLine()
      Not currently supported - throws UnsupportedOperationException.
      long readLong()
      Reads an 8 byte, two's complement little-endian integer.
      short readShort()
      Reads a 2 byte, two's complement, little-endian integer.
      int readUnsignedByte()
      Invokes the delegate's read() method.
      int readUnsignedShort()
      Reads a 2 byte, unsigned, little-endian integer.
      java.lang.String readUTF()
      Not currently supported - throws UnsupportedOperationException.
      int skipBytes​(int count)
      Invokes the delegate's skip(int) method.
      • Methods inherited from class java.io.InputStream

        nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SwappedDataInputStream

        public SwappedDataInputStream​(java.io.InputStream input)
        Constructs a SwappedDataInputStream.
        Parameters:
        input - InputStream to read from
    • Method Detail

      • readBoolean

        public boolean readBoolean()
                            throws java.io.IOException,
                                   java.io.EOFException
        Return readByte() != 0
        Specified by:
        readBoolean in interface java.io.DataInput
        Returns:
        false if the byte read is zero, otherwise true
        Throws:
        java.io.IOException - if an I/O error occurs.
        java.io.EOFException - if an end of file is reached unexpectedly
      • readByte

        public byte readByte()
                      throws java.io.IOException,
                             java.io.EOFException
        Invokes the delegate's read() method.
        Specified by:
        readByte in interface java.io.DataInput
        Returns:
        the byte read or -1 if the end of stream
        Throws:
        java.io.IOException - if an I/O error occurs.
        java.io.EOFException - if an end of file is reached unexpectedly
      • readChar

        public char readChar()
                      throws java.io.IOException,
                             java.io.EOFException
        Reads a 2 byte, unsigned, little endian UTF-16 code point.
        Specified by:
        readChar in interface java.io.DataInput
        Returns:
        the UTF-16 code point read or -1 if the end of stream
        Throws:
        java.io.IOException - if an I/O error occurs.
        java.io.EOFException - if an end of file is reached unexpectedly
      • readDouble

        public double readDouble()
                          throws java.io.IOException,
                                 java.io.EOFException
        Reads an 8 byte, two's complement, little-endian long.
        Specified by:
        readDouble in interface java.io.DataInput
        Returns:
        the read long
        Throws:
        java.io.IOException - if an I/O error occurs.
        java.io.EOFException - if an end of file is reached unexpectedly
      • readFloat

        public float readFloat()
                        throws java.io.IOException,
                               java.io.EOFException
        Reads a 4 byte, IEEE 754, little-endian float.
        Specified by:
        readFloat in interface java.io.DataInput
        Returns:
        the read float
        Throws:
        java.io.IOException - if an I/O error occurs.
        java.io.EOFException - if an end of file is reached unexpectedly
      • readFully

        public void readFully​(byte[] data)
                       throws java.io.IOException,
                              java.io.EOFException
        Invokes the delegate's read(byte[] data, int, int) method.
        Specified by:
        readFully in interface java.io.DataInput
        Parameters:
        data - the buffer to read the bytes into
        Throws:
        java.io.EOFException - if an end of file is reached unexpectedly
        java.io.IOException - if an I/O error occurs.
      • readFully

        public void readFully​(byte[] data,
                              int offset,
                              int length)
                       throws java.io.IOException,
                              java.io.EOFException
        Invokes the delegate's read(byte[] data, int, int) method.
        Specified by:
        readFully in interface java.io.DataInput
        Parameters:
        data - the buffer to read the bytes into
        offset - The start offset
        length - The number of bytes to read
        Throws:
        java.io.EOFException - if an end of file is reached unexpectedly
        java.io.IOException - if an I/O error occurs.
      • readInt

        public int readInt()
                    throws java.io.IOException,
                           java.io.EOFException
        Reads a 4 byte, two's complement little-endian integer.
        Specified by:
        readInt in interface java.io.DataInput
        Returns:
        the read int
        Throws:
        java.io.EOFException - if an end of file is reached unexpectedly
        java.io.IOException - if an I/O error occurs.
      • readLine

        public java.lang.String readLine()
                                  throws java.io.IOException,
                                         java.io.EOFException
        Not currently supported - throws UnsupportedOperationException.
        Specified by:
        readLine in interface java.io.DataInput
        Returns:
        the line read
        Throws:
        java.io.EOFException - if an end of file is reached unexpectedly
        java.io.IOException - if an I/O error occurs
        java.lang.UnsupportedOperationException - always
      • readLong

        public long readLong()
                      throws java.io.IOException,
                             java.io.EOFException
        Reads an 8 byte, two's complement little-endian integer.
        Specified by:
        readLong in interface java.io.DataInput
        Returns:
        the read long
        Throws:
        java.io.EOFException - if an end of file is reached unexpectedly
        java.io.IOException - if an I/O error occurs.
      • readShort

        public short readShort()
                        throws java.io.IOException,
                               java.io.EOFException
        Reads a 2 byte, two's complement, little-endian integer.
        Specified by:
        readShort in interface java.io.DataInput
        Returns:
        the read short
        Throws:
        java.io.EOFException - if an end of file is reached unexpectedly
        java.io.IOException - if an I/O error occurs.
      • readUnsignedByte

        public int readUnsignedByte()
                             throws java.io.IOException,
                                    java.io.EOFException
        Invokes the delegate's read() method.
        Specified by:
        readUnsignedByte in interface java.io.DataInput
        Returns:
        the byte read or -1 if the end of stream
        Throws:
        java.io.EOFException - if an end of file is reached unexpectedly
        java.io.IOException - if an I/O error occurs.
      • readUnsignedShort

        public int readUnsignedShort()
                              throws java.io.IOException,
                                     java.io.EOFException
        Reads a 2 byte, unsigned, little-endian integer.
        Specified by:
        readUnsignedShort in interface java.io.DataInput
        Returns:
        the read short
        Throws:
        java.io.EOFException - if an end of file is reached unexpectedly
        java.io.IOException - if an I/O error occurs.
      • readUTF

        public java.lang.String readUTF()
                                 throws java.io.IOException,
                                        java.io.EOFException
        Not currently supported - throws UnsupportedOperationException.
        Specified by:
        readUTF in interface java.io.DataInput
        Returns:
        never
        Throws:
        java.io.EOFException - if an end of file is reached unexpectedly
        java.io.IOException - if an I/O error occurs
        java.lang.UnsupportedOperationException - always
      • skipBytes

        public int skipBytes​(int count)
                      throws java.io.IOException
        Invokes the delegate's skip(int) method.
        Specified by:
        skipBytes in interface java.io.DataInput
        Parameters:
        count - the number of bytes to skip
        Returns:
        the number of bytes skipped or -1 if the end of stream
        Throws:
        java.io.IOException - if an I/O error occurs