我想使用Java中的序列化将Object转换为byte []

时间:2010-12-06 00:45:04

标签: java serialization byte

您好我有一个名为table的类。 table跟踪remoteIP,remotePort,macAdd和avgRtt 这是它的一般结构。

public class table implements java.io.Serializable{


 String remoteIP;
 int remotePort;
 String macAdd;
 int avgRtt;


public table(String rIP,int rP,String mac,int avRTT){

                remoteIP=rIP;
  remotePort=rP;
  macAdd=mac;
         avgRtt=avRTT;

 }
}

我是使用序列化的新手,我希望能够将其转换为byte [],反之亦然。有人知道我将如何做到这一点吗?

2 个答案:

答案 0 :(得分:3)

这些方面的东西:

table t;
ByteArrayOutputStream aOS = new ByteArrayOutputStream();
ObjectOutputStream oOS = new ObjectOutputStream(aOS);
oOS.writeObject(t);
oOS.close();
byte[] byteArray = aOS.toByteArray();

Java docs on serialization非常好,使用上面的代码和它们,你应该能够编写代码来反序列化它!您可能还会发现ObjectOutputStreamByteArrayOutputStream的JavaDoc很有帮助。

答案 1 :(得分:1)

你可以很容易地用apache commons做到这一点。请参阅here