首页 » PHP教程 » phpjavabyte数组技巧_Java修炼最终指南124 将对象序列化为字节数组

phpjavabyte数组技巧_Java修炼最终指南124 将对象序列化为字节数组

访客 2024-12-12 0

扫一扫用手机浏览

文章目录 [+]

public class Melon implements Serializable { private final String type; private final float weight; // 布局函数,getter,setter}

以及一个Melon的实例:

Melon melon = new Melon("Gac", 2500);

将melon实例序列化为字节数组可以按照以下办法完成:

phpjavabyte数组技巧_Java修炼最终指南124 将对象序列化为字节数组

public static byte[] objectToBytes(Serializable obj) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (ObjectOutputStream ois = new ObjectOutputStream(baos)) { ois.writeObject(obj); } baos.close(); return baos.toByteArray();}

当然,我们可以利用这个助手来序列化任何其他工具,但对付melon实例,我们这样调用它:

phpjavabyte数组技巧_Java修炼最终指南124 将对象序列化为字节数组
(图片来自网络侵删)

byte[] melonSer = Converters.objectToBytes(melon);

反序列化是通过另一个利用readObject()的助手完成的,如下所示:

public static Object bytesToObject(byte[] bytes) throws IOException, ClassNotFoundException { try ( InputStream is = new ByteArrayInputStream(bytes); ObjectInputStream ois = new ObjectInputStream(is)) { return ois.readObject(); }}

我们可以利用这个助手将任何其他工具从字节数组中反序列化,但对付melonSer,我们这样调用它:

Melon melonDeser = (Melon) Converters.bytesToObject(melonSer);

返回的melonDeser规复了初始工具状态,纵然它不是同一个实例。
在打包的代码中,您还可以看到一种基于Apache Commons Lang的方法。

相关文章

php中swool技巧_Swoole 2019 化繁为简破茧成蝶

过去6年我们的团队紧张以兼职开拓为主,团队成员大多来自于腾讯、阿里、滴滴、百度、360、小米等海内一线互联网企业,还有一部分是国外...

PHP教程 2024-12-14 阅读0 评论0

php写日记轮转技巧_Linux日志轮转

rsyslog 日志管理 logrotate日志轮转一、处理日志的进程 rsyslogd:绝大部分日志记录,和系统操作有关,安全,...

PHP教程 2024-12-14 阅读0 评论0