如何在Java中将对象转换为字节数组?

将对象转换为字节数组

  • 通过实现Serializable接口使所需的对象可序列化。

  • 创建一个ByteArrayOutputStream对象。

  • 通过传递在上一步中创建的ByteArrayOutputStream对象来创建ObjectOutputStream对象。

  • 使用writeObject()ObjectOutputStream类的方法将对象的内容写入输出流。

  • 使用flush()方法将内容冲洗到流中。

  • 最后,使用该toByteArray()方法将ByteArrayOutputStream的内容转换为字节数组。

示例

import java.io.ByteArrayOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

class Sample implements Serializable {
   public void display() {
      System.out.println("This is a sample class");
   }
}
public class ObjectToByteArray {
   public static void main(String args[]) throws Exception {
      Sample obj = new Sample();
      ByteArrayOutputStream bos = new ByteArrayOutputStream();
      ObjectOutputStream oos = new ObjectOutputStream(bos);
      oos.writeObject(obj);
      oos.flush();
      byte [] data = bos.toByteArray();
   }
}