|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.nutch.util.Bytes
public class Bytes
Utility class that handles byte arrays, conversions to/from other types, comparisons, hash code generation, manufacturing keys for HashMaps or HashSets, etc. Taken from Hbase Utils to avoid a dependency
| Nested Class Summary | |
|---|---|
static class |
Bytes.ByteArrayComparator
Byte array comparator class. |
| Field Summary | |
|---|---|
static Comparator<byte[]> |
BYTES_COMPARATOR
Pass this to TreeMaps where byte [] are keys. |
static RawComparator<byte[]> |
BYTES_RAWCOMPARATOR
Use comparing byte arrays, byte-by-byte |
static byte[] |
EMPTY_BYTE_ARRAY
An empty instance. |
static int |
ESTIMATED_HEAP_TAX
Estimate of size cost to pay beyond payload in jvm for instance of byte []. |
static int |
SIZEOF_BOOLEAN
Size of boolean in bytes |
static int |
SIZEOF_BYTE
Size of byte in bytes |
static int |
SIZEOF_CHAR
Size of char in bytes |
static int |
SIZEOF_DOUBLE
Size of double in bytes |
static int |
SIZEOF_FLOAT
Size of float in bytes |
static int |
SIZEOF_INT
Size of int in bytes |
static int |
SIZEOF_LONG
Size of long in bytes |
static int |
SIZEOF_SHORT
Size of short in bytes |
static String |
UTF8_ENCODING
When we encode strings, we always specify UTF8 encoding |
| Constructor Summary | |
|---|---|
Bytes()
|
|
| Method Summary | |
|---|---|
static byte[] |
add(byte[] a,
byte[] b)
|
static byte[] |
add(byte[] a,
byte[] b,
byte[] c)
|
static int |
binarySearch(byte[][] arr,
byte[] key,
int offset,
int length,
RawComparator<byte[]> comparator)
Binary search for keys in indexes. |
static long |
bytesToVint(byte[] buffer)
|
static int |
compareTo(byte[] left,
byte[] right)
|
static int |
compareTo(byte[] buffer1,
int offset1,
int length1,
byte[] buffer2,
int offset2,
int length2)
Lexographically compare two arrays. |
static boolean |
equals(byte[] left,
byte[] right)
|
static int |
hashCode(byte[] b)
|
static int |
hashCode(byte[] b,
int length)
|
static byte[] |
head(byte[] a,
int length)
|
static byte[] |
incrementBytes(byte[] value,
long amount)
Bytewise binary increment/deincrement of long contained in byte array on given amount. |
static Iterable<byte[]> |
iterateOnSplits(byte[] a,
byte[] b,
int num)
Iterate over keys within the passed inclusive range. |
static Integer |
mapKey(byte[] b)
|
static Integer |
mapKey(byte[] b,
int length)
|
static byte[] |
padHead(byte[] a,
int length)
|
static byte[] |
padTail(byte[] a,
int length)
|
static int |
putByte(byte[] bytes,
int offset,
byte b)
Write a single byte out to the specified byte array position. |
static int |
putBytes(byte[] tgtBytes,
int tgtOffset,
byte[] srcBytes,
int srcOffset,
int srcLength)
Put bytes at the specified byte array position. |
static int |
putDouble(byte[] bytes,
int offset,
double d)
|
static int |
putFloat(byte[] bytes,
int offset,
float f)
|
static int |
putInt(byte[] bytes,
int offset,
int val)
Put an int value out to the specified byte array position. |
static int |
putLong(byte[] bytes,
int offset,
long val)
Put a long value out to the specified byte array position. |
static int |
putShort(byte[] bytes,
int offset,
short val)
Put a short value out to the specified byte array position. |
static byte[] |
readByteArray(DataInput in)
Read byte-array written with a WritableableUtils.vint prefix. |
static byte[] |
readByteArrayThrowsRuntime(DataInput in)
Read byte-array written with a WritableableUtils.vint prefix. |
static long |
readVLong(byte[] buffer,
int offset)
Reads a zero-compressed encoded long from input stream and returns it. |
static byte[][] |
split(byte[] a,
byte[] b,
int num)
Split passed range. |
static boolean |
startsWith(byte[] bytes,
byte[] prefix)
Return true if the byte array on the right is a prefix of the byte array on the left. |
static byte[] |
tail(byte[] a,
int length)
|
static byte |
toBinaryFromHex(byte ch)
Takes a ASCII digit in the range A-F0-9 and returns the corresponding integer/ordinal value. |
static boolean |
toBoolean(byte[] b)
Reverses toBytes(boolean) |
static byte[][] |
toByteArrays(byte[] column)
|
static byte[][] |
toByteArrays(String column)
|
static byte[][] |
toByteArrays(String[] t)
|
static byte[] |
toBytes(boolean b)
Convert a boolean to a byte array. |
static byte[] |
toBytes(ByteBuffer bb)
Returns a new byte array, copied from the passed ByteBuffer. |
static byte[] |
toBytes(double d)
Serialize a double as the IEEE 754 double format output. |
static byte[] |
toBytes(float f)
|
static byte[] |
toBytes(int val)
Convert an int value to a byte array |
static byte[] |
toBytes(long val)
Convert a long value to a byte array using big-endian. |
static byte[] |
toBytes(short val)
Convert a short value to a byte array of SIZEOF_SHORT bytes
long. |
static byte[] |
toBytes(String s)
Converts a string to a UTF-8 byte array. |
static byte[] |
toBytesBinary(String in)
|
static double |
toDouble(byte[] bytes)
|
static double |
toDouble(byte[] bytes,
int offset)
|
static float |
toFloat(byte[] bytes)
Presumes float encoded as IEEE 754 floating-point "single format" |
static float |
toFloat(byte[] bytes,
int offset)
Presumes float encoded as IEEE 754 floating-point "single format" |
static int |
toInt(byte[] bytes)
Converts a byte array to an int value |
static int |
toInt(byte[] bytes,
int offset)
Converts a byte array to an int value |
static int |
toInt(byte[] bytes,
int offset,
int length)
Converts a byte array to an int value |
static long |
toLong(byte[] bytes)
Converts a byte array to a long value. |
static long |
toLong(byte[] bytes,
int offset)
Converts a byte array to a long value. |
static long |
toLong(byte[] bytes,
int offset,
int length)
Converts a byte array to a long value. |
static short |
toShort(byte[] bytes)
Converts a byte array to a short value |
static short |
toShort(byte[] bytes,
int offset)
Converts a byte array to a short value |
static short |
toShort(byte[] bytes,
int offset,
int length)
Converts a byte array to a short value |
static String |
toString(byte[] b)
|
static String |
toString(byte[] b,
int off,
int len)
This method will convert utf8 encoded bytes into a string. |
static String |
toString(byte[] b1,
String sep,
byte[] b2)
Joins two byte arrays together using a separator. |
static String |
toStringBinary(byte[] b)
Write a printable representation of a byte array. |
static String |
toStringBinary(byte[] b,
int off,
int len)
Write a printable representation of a byte array. |
static byte[] |
vintToBytes(long vint)
|
static int |
writeByteArray(byte[] tgt,
int tgtOffset,
byte[] src,
int srcOffset,
int srcLength)
Write byte-array from src to tgt with a vint length prefix. |
static void |
writeByteArray(DataOutput out,
byte[] b)
Write byte-array with a WritableableUtils.vint prefix. |
static void |
writeByteArray(DataOutput out,
byte[] b,
int offset,
int length)
Write byte-array to out with a vint length prefix. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String UTF8_ENCODING
public static final byte[] EMPTY_BYTE_ARRAY
public static final int SIZEOF_BOOLEAN
public static final int SIZEOF_BYTE
public static final int SIZEOF_CHAR
public static final int SIZEOF_DOUBLE
public static final int SIZEOF_FLOAT
public static final int SIZEOF_INT
public static final int SIZEOF_LONG
public static final int SIZEOF_SHORT
public static final int ESTIMATED_HEAP_TAX
public static Comparator<byte[]> BYTES_COMPARATOR
public static RawComparator<byte[]> BYTES_RAWCOMPARATOR
| Constructor Detail |
|---|
public Bytes()
| Method Detail |
|---|
public static byte[] readByteArray(DataInput in)
throws IOException
in - Input to read from.
in
IOException - epublic static byte[] readByteArrayThrowsRuntime(DataInput in)
in - Input to read from.
in
public static void writeByteArray(DataOutput out,
byte[] b)
throws IOException
out - output stream to be written tob - array to write
IOException - e
public static void writeByteArray(DataOutput out,
byte[] b,
int offset,
int length)
throws IOException
out - output streamb - arrayoffset - offset into arraylength - length past offset
IOException - e
public static int writeByteArray(byte[] tgt,
int tgtOffset,
byte[] src,
int srcOffset,
int srcLength)
tgt - target arraytgtOffset - offset into target arraysrc - source arraysrcOffset - source offsetsrcLength - source length
public static int putBytes(byte[] tgtBytes,
int tgtOffset,
byte[] srcBytes,
int srcOffset,
int srcLength)
tgtBytes - the byte arraytgtOffset - position in the arraysrcBytes - array to write outsrcOffset - source offsetsrcLength - source length
public static int putByte(byte[] bytes,
int offset,
byte b)
bytes - the byte arrayoffset - position in the arrayb - byte to write out
public static byte[] toBytes(ByteBuffer bb)
bb - A ByteBuffer
public static String toString(byte[] b)
b - Presumed UTF-8 encoded byte array.
b
public static String toString(byte[] b1,
String sep,
byte[] b2)
b1 - The first byte array.sep - The separator to use.b2 - The second byte array.
public static String toString(byte[] b,
int off,
int len)
b - Presumed UTF-8 encoded byte array.off - offset into arraylen - length of utf-8 sequence
b or nullpublic static String toStringBinary(byte[] b)
b - byte array
toStringBinary(byte[], int, int)
public static String toStringBinary(byte[] b,
int off,
int len)
b - array to write outoff - offset to start atlen - length to write
public static byte toBinaryFromHex(byte ch)
ch - The hex digit.
public static byte[] toBytesBinary(String in)
public static byte[] toBytes(String s)
s - string
public static byte[] toBytes(boolean b)
b - value
b encoded in a byte array.public static boolean toBoolean(byte[] b)
toBytes(boolean)
b - array
public static byte[] toBytes(long val)
val - value to convert
public static long toLong(byte[] bytes)
toBytes(long)
bytes - array
public static long toLong(byte[] bytes,
int offset)
SIZEOF_LONG bytes available.
bytes - bytesoffset - offset
public static long toLong(byte[] bytes,
int offset,
int length)
bytes - array of bytesoffset - offset into arraylength - length of data (must be SIZEOF_LONG)
IllegalArgumentException - if length is not SIZEOF_LONG or if there's not
enough room in the array at the offset indicated.
public static int putLong(byte[] bytes,
int offset,
long val)
bytes - the byte arrayoffset - position in the arrayval - long to write out
IllegalArgumentException - if the byte array given doesn't have enough room at the
offset specified.public static float toFloat(byte[] bytes)
bytes - byte array
public static float toFloat(byte[] bytes,
int offset)
bytes - array to convertoffset - offset into array
public static int putFloat(byte[] bytes,
int offset,
float f)
bytes - byte arrayoffset - offset to write tof - float value
bytespublic static byte[] toBytes(float f)
f - float value
public static double toDouble(byte[] bytes)
bytes - byte array
public static double toDouble(byte[] bytes,
int offset)
bytes - byte arrayoffset - offset where double is
public static int putDouble(byte[] bytes,
int offset,
double d)
bytes - byte arrayoffset - offset to write tod - value
bytespublic static byte[] toBytes(double d)
d - value
public static byte[] toBytes(int val)
val - value
public static int toInt(byte[] bytes)
bytes - byte array
public static int toInt(byte[] bytes,
int offset)
bytes - byte arrayoffset - offset into array
public static int toInt(byte[] bytes,
int offset,
int length)
bytes - byte arrayoffset - offset into arraylength - length of int (has to be SIZEOF_INT)
IllegalArgumentException - if length is not SIZEOF_INT or if there's not enough
room in the array at the offset indicated.
public static int putInt(byte[] bytes,
int offset,
int val)
bytes - the byte arrayoffset - position in the arrayval - int to write out
IllegalArgumentException - if the byte array given doesn't have enough room at the
offset specified.public static byte[] toBytes(short val)
SIZEOF_SHORT bytes
long.
val - value
public static short toShort(byte[] bytes)
bytes - byte array
public static short toShort(byte[] bytes,
int offset)
bytes - byte arrayoffset - offset into array
public static short toShort(byte[] bytes,
int offset,
int length)
bytes - byte arrayoffset - offset into arraylength - length, has to be SIZEOF_SHORT
IllegalArgumentException - if length is not SIZEOF_SHORT or if there's not
enough room in the array at the offset indicated.
public static int putShort(byte[] bytes,
int offset,
short val)
bytes - the byte arrayoffset - position in the arrayval - short to write out
IllegalArgumentException - if the byte array given doesn't have enough room at the
offset specified.public static byte[] vintToBytes(long vint)
vint - Integer to make a vint of.
public static long bytesToVint(byte[] buffer)
buffer - buffer to convert
public static long readVLong(byte[] buffer,
int offset)
throws IOException
buffer - Binary arrayoffset - Offset into array at which vint begins.
IOException - e
public static int compareTo(byte[] left,
byte[] right)
left - left operandright - right operand
public static int compareTo(byte[] buffer1,
int offset1,
int length1,
byte[] buffer2,
int offset2,
int length2)
buffer1 - left operandbuffer2 - right operandoffset1 - Where to start comparing in the left bufferoffset2 - Where to start comparing in the right bufferlength1 - How much to compare from the left bufferlength2 - How much to compare from the right buffer
public static boolean equals(byte[] left,
byte[] right)
left - left operandright - right operand
public static boolean startsWith(byte[] bytes,
byte[] prefix)
public static int hashCode(byte[] b)
b - bytes to hash
WritableComparator.hashBytes(byte[], int) on the
passed in array. This method is what
Text and
ImmutableBytesWritable use calculating hash code.
public static int hashCode(byte[] b,
int length)
b - valuelength - length of the value
WritableComparator.hashBytes(byte[], int) on the
passed in array. This method is what
Text and
ImmutableBytesWritable use calculating hash code.public static Integer mapKey(byte[] b)
b - bytes to hash
b as an Integer that can be used as key in
Maps.
public static Integer mapKey(byte[] b,
int length)
b - bytes to hashlength - length to hash
b as an Integer that can be used as key in
Maps.
public static byte[] add(byte[] a,
byte[] b)
a - lower halfb - upper half
public static byte[] add(byte[] a,
byte[] b,
byte[] c)
a - first thirdb - second thirdc - third third
public static byte[] head(byte[] a,
int length)
a - arraylength - amount of bytes to grab
length bytes from a
public static byte[] tail(byte[] a,
int length)
a - arraylength - amount of bytes to snarf
length bytes from a
public static byte[] padHead(byte[] a,
int length)
a - arraylength - new array size
a plus length prepended 0
bytes
public static byte[] padTail(byte[] a,
int length)
a - arraylength - new array size
a plus length appended 0 bytes
public static byte[][] split(byte[] a,
byte[] b,
int num)
a - Beginning of rangeb - End of rangenum - Number of times to split range. Pass 1 if you want to split
the range in two; i.e. one split.
public static Iterable<byte[]> iterateOnSplits(byte[] a,
byte[] b,
int num)
public static byte[][] toByteArrays(String[] t)
t - operands
public static byte[][] toByteArrays(String column)
column - operand
columnpublic static byte[][] toByteArrays(byte[] column)
column - operand
column
public static int binarySearch(byte[][] arr,
byte[] key,
int offset,
int length,
RawComparator<byte[]> comparator)
arr - array of byte arrays to search forkey - the key you want to findoffset - the offset in the key you want to findlength - the length of the keycomparator - a comparator to compare.
public static byte[] incrementBytes(byte[] value,
long amount)
throws IOException
value - - array of bytes containing long (length <= SIZEOF_LONG)amount - value will be incremented on (deincremented if negative)
IOException - - if value.length > SIZEOF_LONG
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||