“序列化”的概念

时间:2011-08-30 14:24:30

标签: java serialization

在Java中将数据(整数,字符串)转换为字节的方法是什么?我正在寻找除使用Serializable类之外的方法。我研究并发现了像ByteOutputStream这样的东西。

我可以将字符串和整数解析为字节数据类型吗?

有什么建议吗?

3 个答案:

答案 0 :(得分:3)

看一下DataInputStream和DataOutputStream,它们将所有Java数据类型转换为字节,并读/写到底层的Input / OutputStream。

如果你需要读取或写入int,long等文件,那么这些就是你的课程。

如果您只是对如何将其转换为字节用于其他目的感兴趣,请查看这些类的源代码,它们将转换为big-endian。

答案 1 :(得分:0)

支持DataOutput界面的类将满足您的需求。使用DataInput将数据流读回数据。

答案 2 :(得分:0)

Java在序列化时使用的标准编码方法就像您自己的想法一样,将字段简单地转换为字节流。

基元以及非瞬态非静态引用对象被编码到流中。序列化对象引用的每个对象,也必须序列化。

其他语言(例如PHP)序列化为几乎人类可读的格式,而某些实现序列化为JSON或XML。

但在我看来,真正的序列化应该是数据的二进制字节每字节表示。这样就可以快速将所有数据再次读入内存,并且可以按原样执行。