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

能不通过将对象写到文件里实现么?
我想知道如何将其变成byte[]

如果你的类实现了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个回答  2008-06-04
实现Serializable接口,然后建立一个ObjectOutputStream,可以用里面的writeObject方法来把对象写到文件里
相似回答