Class ByteUtils
- java.lang.Object
-
- org.apache.commons.compress.utils.ByteUtils
-
public final class ByteUtils extends java.lang.ObjectUtility methods for reading and writing bytes.- Since:
- 1.14
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceByteUtils.ByteConsumerUsed to consume bytes.static interfaceByteUtils.ByteSupplierUsed to supply bytes.static classByteUtils.InputStreamByteSupplierByteUtils.ByteSupplierbased onInputStream.static classByteUtils.OutputStreamByteConsumerByteUtils.ByteConsumerbased onOutputStream.
-
Field Summary
Fields Modifier and Type Field Description static byte[]EMPTY_BYTE_ARRAYEmpty array.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static longfromLittleEndian(byte[] bytes)Reads the given byte array as a little endian long.static longfromLittleEndian(byte[] bytes, int off, int length)Reads the given byte array as a little endian long.static longfromLittleEndian(java.io.DataInput in, int length)Reads the given number of bytes from the given input as little endian long.static longfromLittleEndian(java.io.InputStream in, int length)Reads the given number of bytes from the given stream as a little endian long.static longfromLittleEndian(ByteUtils.ByteSupplier supplier, int length)Reads the given number of bytes from the given supplier as a little endian long.static voidtoLittleEndian(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.static voidtoLittleEndian(java.io.DataOutput out, long value, int length)Writes the given value to the given stream as a little endian array of the given length.static voidtoLittleEndian(java.io.OutputStream out, long value, int length)Writes the given value to the given stream as a little endian array of the given length.static voidtoLittleEndian(ByteUtils.ByteConsumer consumer, long value, int length)Provides the given value to the given consumer as a little endian sequence of the given length.
-
-
-
Method Detail
-
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 convertoff- the offset into the array that starts the valuelength- the number of bytes representing the value- Returns:
- the number read
- Throws:
java.lang.IllegalArgumentException- if len is bigger than eight
-
fromLittleEndian
public static long fromLittleEndian(java.io.InputStream in, int length) throws java.io.IOExceptionReads the given number of bytes from the given stream as a little endian long.- Parameters:
in- the stream to read fromlength- the number of bytes representing the value- Returns:
- the number read
- Throws:
java.lang.IllegalArgumentException- if len is bigger than eightjava.io.IOException- if reading fails or the stream doesn't contain the given number of bytes anymore
-
fromLittleEndian
public static long fromLittleEndian(ByteUtils.ByteSupplier supplier, int length) throws java.io.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 byteslength- the number of bytes representing the value- Returns:
- the number read
- Throws:
java.lang.IllegalArgumentException- if len is bigger than eightjava.io.IOException- if the supplier fails or doesn't supply the given number of bytes anymore
-
fromLittleEndian
public static long fromLittleEndian(java.io.DataInput in, int length) throws java.io.IOExceptionReads the given number of bytes from the given input as little endian long.- Parameters:
in- the input to read fromlength- the number of bytes representing the value- Returns:
- the number read
- Throws:
java.lang.IllegalArgumentException- if len is bigger than eightjava.io.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 intovalue- the value to insertoff- the offset into the array that receives the first bytelength- the number of bytes to use to represent the value
-
toLittleEndian
public static void toLittleEndian(java.io.OutputStream out, long value, int length) throws java.io.IOExceptionWrites the given value to the given stream as a little endian array of the given length.- Parameters:
out- the stream to write tovalue- the value to writelength- the number of bytes to use to represent the value- Throws:
java.io.IOException- if writing fails
-
toLittleEndian
public static void toLittleEndian(ByteUtils.ByteConsumer consumer, long value, int length) throws java.io.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 tovalue- the value to providelength- the number of bytes to use to represent the value- Throws:
java.io.IOException- if writing fails
-
toLittleEndian
public static void toLittleEndian(java.io.DataOutput out, long value, int length) throws java.io.IOExceptionWrites the given value to the given stream as a little endian array of the given length.- Parameters:
out- the output to write tovalue- the value to writelength- the number of bytes to use to represent the value- Throws:
java.io.IOException- if writing fails
-
-