Java: object to byte[] and byte[] to object converter (for Tokyo Cabinet)
public static byte[] serialize(Object obj) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream os = new ObjectOutputStream(out);
os.writeObject(obj);
return out.toByteArray();
}
public static Object deserialize(byte[] data) throws IOException, ClassNotFoundException {
ByteArrayInputStream in = new ByteArrayInputStream(data);
ObjectInputStream is = new ObjectInputStream(in);
return is.readObject();
}
Use serialize
and deserialize
methods in SerializationUtils
from commons-lang.
If your class extends Serializable
, you can write and read objects through a ByteArrayOutputStream
, that's what I usually do.