希望大家都没事。
我只是想知道,如何在没有non-serializable
的情况下将serialization
对象转换为字节数组?
在搜索了一段时间后,我知道在C#中可以使用自定义库(例如 BinaryFormatter )等等。是否有任何库可以在Android中完成这项工作?
提前致谢
注意:实现Serializable
对象不是一个选择,已经尝试过很多次尝试。
答案 0 :(得分:-1)
public byte[] toByteArray (Object obj)
{
byte[] bytes = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
oos.flush();
oos.close();
bos.close();
bytes = bos.toByteArray ();
}
catch (IOException ex) {
//TODO: Handle the exception
}
return bytes;
}
public Object toObject (byte[] bytes)
{
Object obj = null;
try {
ByteArrayInputStream bis = new ByteArrayInputStream (bytes);
ObjectInputStream ois = new ObjectInputStream (bis);
obj = ois.readObject();
}
catch (IOException ex) {
//TODO: Handle the exception
}
catch (ClassNotFoundException ex) {
//TODO: Handle the exception
}
return obj;
}