org.apache.commons.io.input

## Class SwappedDataInputStream

- java.lang.Object
- - java.io.InputStream
  - - java.io.FilterInputStream
    - - org.apache.commons.io.input.ProxyInputStream
      - - org.apache.commons.io.input.SwappedDataInputStream

- All Implemented Interfaces:
    Closeable, DataInput, AutoCloseable

      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)

- - ### Field Summary

    - ### Fields inherited from class java.io.FilterInputStream

      `in`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SwappedDataInputStream(InputStream input)` Constructs a SwappedDataInputStream.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

      `afterRead, available, beforeRead, close, handleIOException, 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:
        false if the byte read is zero, otherwise true
      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–2023 The Apache Software Foundation. All rights reserved.