Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.util
Class LittleEndian

    java.lang.Object
      org.apache.poi.util.LittleEndian

All Implemented Interfaces:
  LittleEndianConsts

    public class LittleEndian

extends java.lang.Object
implements LittleEndianConsts

a utility class for handling little-endian numbers, which the 80x86 world is replete with. The methods are all static, and input/output is from/to byte arrays, or from InputStreams.

Author:
  Marc Johnson (mjohnson at apache dot org), Andrew Oliver (acoliver at apache dot org)

Nested Class Summary
`static class` | `LittleEndian.BufferUnderrunException` Exception to handle buffer underruns

Field Summary

Fields inherited from interface org.apache.poi.util.LittleEndianConsts
`BYTE_SIZE, DOUBLE_SIZE, INT_SIZE, LONG_SIZE, SHORT_SIZE`

Method Summary
`static byte[]` | `getByteArray(byte[] data, int offset, int size)` Copy a portion of a byte array
`static double` | `getDouble(byte[] data, int offset)` get a double value from a byte array, reads it in little endian format then converts the resulting revolting IEEE 754 (curse them) floating point number to a happy java double
`static int` | `getInt(byte[] data)` get an int value from the beginning of a byte array
`static int` | `getInt(byte[] data, int offset)` get an int value from a byte array
`static long` | `getLong(byte[] data, int offset)` get a long value from a byte array
`static short` | `getShort(byte[] data)` get a short value from the beginning of a byte array
`static short` | `getShort(byte[] data, int offset)` get a short value from a byte array
`static long` | `getUInt(byte[] data)` get an unsigned int value from a byte array
`static long` | `getUInt(byte[] data, int offset)` get an unsigned int value from a byte array
`static int` | `getUnsignedByte(byte[] data, int offset)` get the unsigned value of a byte.
`static int` | `getUShort(byte[] data)` get an unsigned short value from the beginning of a byte array
`static int` | `getUShort(byte[] data, int offset)` get an unsigned short value from a byte array
`static void` | `putByte(byte[] data, int offset, int value)` executes: `data[offset] = (byte)value;`
`static void` | `putDouble(byte[] data, int offset, double value)` put a double value into a byte array
`static void` | `putInt(byte[] data, int value)` put an int value into beginning of a byte array
`static void` | `putInt(byte[] data, int offset, int value)` put an int value into a byte array
`static void` | `putLong(byte[] data, int offset, long value)` put a long value into a byte array
`static void` | `putShort(byte[] data, int offset, short value)` put a short value into a byte array
`static void` | `putShort(byte[] data, short value)` put a short value into beginning of a byte array
`static void` | `putUShort(byte[] data, int offset, int value)` put an unsigned short value into a byte array
`static int` | `readInt(java.io.InputStream stream)` get an int value from an InputStream
`static long` | `readLong(java.io.InputStream stream)` get a long value from an InputStream
`static short` | `readShort(java.io.InputStream stream)` get a short value from an InputStream
`static int` | `readUShort(java.io.InputStream stream)`
`static int` | `ubyteToInt(byte b)` Convert an 'unsigned' byte to an integer.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### getShort

    public static short getShort(byte[] data,
                                 int offset)

  get a short value from a byte array

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
  Returns:
    the short (16-bit) value

### getUShort

    public static int getUShort(byte[] data,
                                int offset)

  get an unsigned short value from a byte array

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
  Returns:
    the unsigned short (16-bit) value in an integer

### getShort

    public static short getShort(byte[] data)

  get a short value from the beginning of a byte array

  Parameters:
    `data` - the byte array
  Returns:
    the short (16-bit) value

### getUShort

    public static int getUShort(byte[] data)

  get an unsigned short value from the beginning of a byte array

  Parameters:
    `data` - the byte array
  Returns:
    the unsigned short (16-bit) value in an int

### getInt

    public static int getInt(byte[] data,
                             int offset)

  get an int value from a byte array

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
  Returns:
    the int (32-bit) value

### getInt

    public static int getInt(byte[] data)

  get an int value from the beginning of a byte array

  Parameters:
    `data` - the byte array
  Returns:
    the int (32-bit) value

### getUInt

    public static long getUInt(byte[] data,
                               int offset)

  get an unsigned int value from a byte array

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
  Returns:
    the unsigned int (32-bit) value in a long

### getUInt

    public static long getUInt(byte[] data)

  get an unsigned int value from a byte array

  Parameters:
    `data` - the byte array
  Returns:
    the unsigned int (32-bit) value in a long

### getLong

    public static long getLong(byte[] data,
                               int offset)

  get a long value from a byte array

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
  Returns:
    the long (64-bit) value

### getDouble

    public static double getDouble(byte[] data,
                                   int offset)

  get a double value from a byte array, reads it in little endian format then converts the resulting revolting IEEE 754 (curse them) floating point number to a happy java double

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
  Returns:
    the double (64-bit) value

### putShort

    public static void putShort(byte[] data,
                                int offset,
                                short value)

  put a short value into a byte array

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
    `value` - the short (16-bit) value

### putByte

    public static void putByte(byte[] data,
                               int offset,
                               int value)

  executes:

  `data[offset] = (byte)value;` Added for consistency with other put~() methods

### putUShort

    public static void putUShort(byte[] data,
                                 int offset,
                                 int value)

  put an unsigned short value into a byte array

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
    `value` - the short (16-bit) value
  Throws:
    `java.lang.ArrayIndexOutOfBoundsException` - may be thrown

### putShort

    public static void putShort(byte[] data,
                                short value)

  put a short value into beginning of a byte array

  Parameters:
    `data` - the byte array
    `value` - the short (16-bit) value

### putInt

    public static void putInt(byte[] data,
                              int offset,
                              int value)

  put an int value into a byte array

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
    `value` - the int (32-bit) value

### putInt

    public static void putInt(byte[] data,
                              int value)

  put an int value into beginning of a byte array

  Parameters:
    `data` - the byte array
    `value` - the int (32-bit) value

### putLong

    public static void putLong(byte[] data,
                               int offset,
                               long value)

  put a long value into a byte array

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
    `value` - the long (64-bit) value

### putDouble

    public static void putDouble(byte[] data,
                                 int offset,
                                 double value)

  put a double value into a byte array

  Parameters:
    `data` - the byte array
    `offset` - a starting offset into the byte array
    `value` - the double (64-bit) value

### readShort

    public static short readShort(java.io.InputStream stream)
                           throws java.io.IOException,
                                  LittleEndian.BufferUnderrunException

  get a short value from an InputStream

  Parameters:
    `stream` - the InputStream from which the short is to be read
  Returns:
    the short (16-bit) value
  Throws:
    `java.io.IOException` - will be propagated back to the caller
    `LittleEndian.BufferUnderrunException` - if the stream cannot provide enough bytes

### readUShort

    public static int readUShort(java.io.InputStream stream)
                          throws java.io.IOException,
                                 LittleEndian.BufferUnderrunException

  Throws:
    `java.io.IOException`
    `LittleEndian.BufferUnderrunException`

### readInt

    public static int readInt(java.io.InputStream stream)
                       throws java.io.IOException,
                              LittleEndian.BufferUnderrunException

  get an int value from an InputStream

  Parameters:
    `stream` - the InputStream from which the int is to be read
  Returns:
    the int (32-bit) value
  Throws:
    `java.io.IOException` - will be propagated back to the caller
    `LittleEndian.BufferUnderrunException` - if the stream cannot provide enough bytes

### readLong

    public static long readLong(java.io.InputStream stream)
                         throws java.io.IOException,
                                LittleEndian.BufferUnderrunException

  get a long value from an InputStream

  Parameters:
    `stream` - the InputStream from which the long is to be read
  Returns:
    the long (64-bit) value
  Throws:
    `java.io.IOException` - will be propagated back to the caller
    `LittleEndian.BufferUnderrunException` - if the stream cannot provide enough bytes

### ubyteToInt

    public static int ubyteToInt(byte b)

  Convert an 'unsigned' byte to an integer. ie, don't carry across the sign.

  Parameters:
    `b` - Description of the Parameter
  Returns:
    Description of the Return Value

### getUnsignedByte

    public static int getUnsignedByte(byte[] data,
                                      int offset)

  get the unsigned value of a byte.

  Parameters:
    `data` - the byte array.
    `offset` - a starting offset into the byte array.
  Returns:
    the unsigned value of the byte as a 32 bit integer

### getByteArray

    public static byte[] getByteArray(byte[] data,
                                      int offset,
                                      int size)

  Copy a portion of a byte array

  Parameters:
    `data` - the original byte array
    `offset` - Where to start copying from.
    `size` - Number of bytes to copy.
  Returns:
    The byteArray value
  Throws:
    `java.lang.IndexOutOfBoundsException` - - if copying would cause access of data outside array bounds.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD