Package ubic.basecode.io
Class ByteArrayConverter
- java.lang.Object
-
- ubic.basecode.io.ByteArrayConverter
-
public final class ByteArrayConverter extends Object
Class to convert byte arrays (e.g., Blobs) to and from other types of arrays. TODO these could be static methods.- Author:
- Kiran Keshav, Paul Pavlidis
-
-
Constructor Summary
Constructors Constructor Description ByteArrayConverter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
booleanArrayToBytes(boolean[] boolarray)
String
byteArrayToAsciiString(byte[] barray)
Convert a byte array with one-byte-per-character ASCII encoding (aka ISO-8859-1).boolean[]
byteArrayToBooleans(byte[] barray)
char[]
byteArrayToChars(byte[] barray)
double[][]
byteArrayToDoubleMatrix(byte[] barray, int width)
double[]
byteArrayToDoubles(byte[] barray)
int[]
byteArrayToInts(byte[] barray)
long[]
byteArrayToLongs(byte[] barray)
String[]
byteArrayToStrings(byte[] bytes)
Convert a byte array into a array of Strings.String
byteArrayToTabbedString(byte[] bytes, Class<?> type)
Convert a byte array to a tab-delimited string.byte[]
charArrayToBytes(char[] carray)
byte[]
doubleArrayToBytes(double[] darray)
byte[]
doubleArrayToBytes(cern.colt.list.DoubleArrayList darray)
byte[]
doubleArrayToBytes(Double[] darray)
byte[]
doubleMatrixToBytes(double[][] testm)
byte[]
intArrayToBytes(int[] iarray)
byte[]
longArrayToBytes(long[] larray)
byte[]
stringArrayToBytes(Object[] stringArray)
Note that this method cannot differentiate between empty strings and null strings.byte[]
toBytes(Object data)
byte[]
toBytes(Object[] array)
Convert an array of Objects into an array of bytes.
-
-
-
Method Detail
-
booleanArrayToBytes
public byte[] booleanArrayToBytes(boolean[] boolarray)
- Parameters:
boolarray
-- Returns:
- byte[]
-
byteArrayToAsciiString
public String byteArrayToAsciiString(byte[] barray)
Convert a byte array with one-byte-per-character ASCII encoding (aka ISO-8859-1).- Parameters:
barray
-- Returns:
-
byteArrayToBooleans
public boolean[] byteArrayToBooleans(byte[] barray)
- Parameters:
barray
-- Returns:
- boolean[]
-
byteArrayToChars
public char[] byteArrayToChars(byte[] barray)
- Parameters:
barray
-- Returns:
- char[]
-
byteArrayToDoubleMatrix
public double[][] byteArrayToDoubleMatrix(byte[] barray, int width) throws IllegalArgumentException
- Parameters:
barray
-width
- how many items per row.- Returns:
- double[][]
- Throws:
IllegalArgumentException
-
byteArrayToDoubles
public double[] byteArrayToDoubles(byte[] barray)
- Parameters:
barray
-- Returns:
- double[]
-
byteArrayToInts
public int[] byteArrayToInts(byte[] barray)
- Parameters:
barray
-- Returns:
- int[]
-
byteArrayToLongs
public long[] byteArrayToLongs(byte[] barray)
- Parameters:
barray
-- Returns:
- long[] resulting from parse of the bytes.
-
byteArrayToStrings
public String[] byteArrayToStrings(byte[] bytes)
Convert a byte array into a array of Strings. It is assumed that separate strings are delimited by ' ' (NUL). Note that this method cannot differentiate between empty strings and null strings. A string that is empty will be returned as an empty string, not null.- Parameters:
bytes
-- Returns:
-
byteArrayToTabbedString
public String byteArrayToTabbedString(byte[] bytes, Class<?> type)
Convert a byte array to a tab-delimited string.- Parameters:
bytes
-type
- The Class of primitives the bytes are to be interpreted as. If this is String, then the bytes are directly interpreted as tab-delimited string (e.g., no extra tabs are added).- Returns:
- Throws:
UnsupportedOperationException
- if Class is a type that can't be converted by this.
-
charArrayToBytes
public byte[] charArrayToBytes(char[] carray)
- Parameters:
carray
-- Returns:
- byte[]
-
doubleArrayToBytes
public byte[] doubleArrayToBytes(double[] darray)
- Parameters:
darray
-- Returns:
- byte[]
-
doubleArrayToBytes
public byte[] doubleArrayToBytes(Double[] darray)
- Parameters:
darray
-- Returns:
- byte[]
-
doubleArrayToBytes
public byte[] doubleArrayToBytes(cern.colt.list.DoubleArrayList darray)
- Parameters:
darray
-- Returns:
-
doubleMatrixToBytes
public byte[] doubleMatrixToBytes(double[][] testm)
- Parameters:
testm
-- Returns:
-
intArrayToBytes
public byte[] intArrayToBytes(int[] iarray)
- Parameters:
iarray
-- Returns:
- byte[]
-
longArrayToBytes
public byte[] longArrayToBytes(long[] larray)
- Parameters:
larray
-- Returns:
- byte[]
-
stringArrayToBytes
public byte[] stringArrayToBytes(Object[] stringArray)
Note that this method cannot differentiate between empty strings and null strings. A string that is empty will be returned as an empty string, not null, while a null string will be stored as an empty string.- Parameters:
stringArray
-- Returns:
- byte[]
-
toBytes
public byte[] toBytes(Object data)
- Parameters:
data
-
-
toBytes
public byte[] toBytes(Object[] array)
Convert an array of Objects into an array of bytes. If the array contains Strings, it is converted to a tab-delimited string, and then converted to bytes.- Parameters:
array
- of Objects to be converted to bytes.- Returns:
- Throws:
UnsupportedOperationException
- if Objects are a type that can't be converted by this.
-
-