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


将对象转换为字节数组

  • 通过实现Serializable接口,使所需的对象可序列化。
  • 创建一个ByteArrayOutputStream对象。
  • 通过传递上一步中创建的ByteArrayOutputStream对象,创建一个ObjectOutputStream对象。
  • 使用ObjectOutputStream类的writeObject()方法,将对象的内容写入输出流。
  • 使用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();
   }
}

更新于:19-Feb-2020

15000+ 浏览量

开启你的 职业生涯

完成课程获得认证

课程开始
广告