【问题标题】:How to converting any object into Bytes?如何将任何对象转换为字节?
【发布时间】:2012-02-09 16:21:34
【问题描述】:

我能想到的一种方法如下

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(object);
byte[] bytes = baos.toByteArray();

我的问题是,还有其他更好的选择吗(其他方式,第三方库等)?

【问题讨论】:

    标签: java object bytearray


    【解决方案1】:

    如果您想转换 任何 对象,即您无法控制的类的实例,那么您将不得不使用 Java 序列化 API 来序列化它们。

    有许多可用的序列化 API 实现提供不同的输出。例如。您可以将您的实例序列化为 XML 或 YAML,而不是默认的 Java 二进制格式。

    您写道,您希望专门将对象序列化为 字节,因此您应该寻找序列化 API 的实现来提供某种二进制输出。 Kryo 似乎就是这样一个库。

    您提供的代码示例绝对是将对象序列化为二进制的最简单方法。

    【讨论】:

      猜你喜欢
      • 2011-06-19
      • 2011-08-15
      • 1970-01-01
      • 2018-12-08
      • 2015-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      相关资源
      最近更新 更多