Class ByteUtils

java.lang.Object
org.apache.commons.compress.utils.ByteUtils

public final class ByteUtils extends Object
Utility methods for reading and writing bytes.
Since:
1.14
  • Field Details

    • EMPTY_BYTE_ARRAY

      public static final byte[] EMPTY_BYTE_ARRAY
      Empty array.
      Since:
      1.21
  • Method Details

    • fromLittleEndian

      public static long fromLittleEndian(byte[] bytes)
      Reads the given byte array as a little-endian long.
      Parameters:
      bytes - the byte array to convert
      Returns:
      the number read
    • fromLittleEndian

      public static long fromLittleEndian(byte[] bytes, int off, int length)
      Reads the given byte array as a little-endian long.
      Parameters:
      bytes - the byte array to convert
      off - the offset into the array that starts the value
      length - the number of bytes representing the value
      Returns:
      the number read
      Throws:
      IllegalArgumentException - if len is bigger than eight
    • fromLittleEndian

      public static long fromLittleEndian(ByteUtils.ByteSupplier supplier, int length) throws IOException
      Reads the given number of bytes from the given supplier as a little-endian long.

      Typically used by our InputStreams that need to count the bytes read as well.

      Parameters:
      supplier - the supplier for bytes
      length - the number of bytes representing the value
      Returns:
      the number read
      Throws:
      IllegalArgumentException - if len is bigger than eight
      IOException - if the supplier fails or doesn't supply the given number of bytes anymore
    • fromLittleEndian

      public static long fromLittleEndian(DataInput in, int length) throws IOException
      Reads the given number of bytes from the given input as little-endian long.
      Parameters:
      in - the input to read from
      length - the number of bytes representing the value
      Returns:
      the number read
      Throws:
      IllegalArgumentException - if len is bigger than eight
      IOException - if reading fails or the stream doesn't contain the given number of bytes anymore
    • fromLittleEndian

      @Deprecated public static long fromLittleEndian(InputStream in, int length) throws IOException
      Deprecated.
      Unused
      Reads the given number of bytes from the given stream as a little-endian long.
      Parameters:
      in - the stream to read from
      length - the number of bytes representing the value
      Returns:
      the number read
      Throws:
      IllegalArgumentException - if len is bigger than eight
      IOException - if reading fails or the stream doesn't contain the given number of bytes anymore
    • toLittleEndian

      public static void toLittleEndian(byte[] b, long value, int off, int length)
      Inserts the given value into the array as a little-endian sequence of the given length starting at the given offset.
      Parameters:
      b - the array to write into
      value - the value to insert
      off - the offset into the array that receives the first byte
      length - the number of bytes to use to represent the value
    • toLittleEndian

      public static void toLittleEndian(ByteUtils.ByteConsumer consumer, long value, int length) throws IOException
      Provides the given value to the given consumer as a little-endian sequence of the given length.
      Parameters:
      consumer - the consumer to provide the bytes to
      value - the value to provide
      length - the number of bytes to use to represent the value
      Throws:
      IOException - if writing fails
    • toLittleEndian

      @Deprecated public static void toLittleEndian(DataOutput out, long value, int length) throws IOException
      Deprecated.
      Unused
      Writes the given value to the given stream as a little-endian array of the given length.
      Parameters:
      out - the output to write to
      value - the value to write
      length - the number of bytes to use to represent the value
      Throws:
      IOException - if writing fails
    • toLittleEndian

      public static void toLittleEndian(OutputStream out, long value, int length) throws IOException
      Writes the given value to the given stream as a little-endian array of the given length.
      Parameters:
      out - the stream to write to
      value - the value to write
      length - the number of bytes to use to represent the value
      Throws:
      IOException - if writing fails