永发信息网

java中如何将一个对象变成byte[]

答案:2  悬赏:30  手机版
解决时间 2021-03-22 03:47
  • 提问者网友:像風在裏
  • 2021-03-21 03:26
java中如何将一个对象变成byte[]
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-03-21 04:30
如果你的类实现了Serializable的接口,就说明这个类允许被变成一个byte[]数组来进行传输并可以在将来从这个byte[]恢复成这个类 ,这个类就是你说的对象

首先对象要继承Serializable接口
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class Testdfdfdsa implements Serializable {

public byte[] ObjectToByte(java.lang.Object obj) {
byte[] bytes=new byte[1024];
try {
// object to bytearray
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream oo = new ObjectOutputStream(bo);
oo.writeObject(obj);

bytes = bo.toByteArray();

bo.close();
oo.close();
} catch (Exception e) {
System.out.println("translation" + e.getMessage());
e.printStackTrace();
}
return (bytes);
}

private static java.lang.Object ByteToObject(byte[] bytes) {
java.lang.Object obj=new java.lang.Object();
try {
// bytearray to object
ByteArrayInputStream bi = new ByteArrayInputStream(bytes);
ObjectInputStream oi = new ObjectInputStream(bi);

obj = oi.readObject();

bi.close();
oi.close();
} catch (Exception e) {
System.out.println("translation" + e.getMessage());
e.printStackTrace();
}
return obj;
}
}

这里都是java.lang.Object是因为我要用于Corba中,只写Object会引起类型冲突。

具体你是什么对象你就用你对象类型就可以了,第一个方法是对象转byte[].第2个方法是byte[]转回对象
全部回答
  • 1楼网友:你哪知我潦倒为你
  • 2021-03-21 05:38
实现Serializable接口,然后建立一个ObjectOutputStream,可以用里面的writeObject方法来把对象写到文件里
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯