gpt4 book ai didi

java - 如何从不是从 ObjectOutputStream 创建的 byte[] 重建对象?

转载 作者:行者123 更新时间:2023-12-02 06:32:08 25 4
gpt4 key购买 nike

我需要从存储来自InputStream(TCP/IP) 的字节的byte[] 重建客户端的对象。服务器采用 C 语言,结构以字节形式发送。我必须从这些字节序列中重建该对象。

我可以通过读取字节 block 并将它们转换为我想要重建的对象的变量来做到这一点,但这种方法很乏味,我想知道是否有一个简单的方法?

最佳答案

But this method is tedious and I was wondering if there is an easy way out?

据我所知。但是,如果您发现自己多次编写相同的代码,您很可能会发现,如果您提取一些辅助方法,它实际上会变得非常简单。是的,您需要调用一个方法来读取每个字段值...但代码最终应该易于阅读和理解,而不是依赖于任何神奇的东西。

可以通过反射来完成所有这些工作,可能使用注释来指定字段序列化的顺序等。但这可能需要编写大量代码 - 除非您已经有很多不同的类型需要反序列化,与“愚蠢但简单”的方法相比,它可能会需要更多代码,而且复杂代码。

我希望 C 端的字节格式是明确指定的:如果它基本上只是转储内存中的表示,那么在面对变化时最终可能会变得非常脆弱。

关于java - 如何从不是从 ObjectOutputStream 创建的 byte[] 重建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19975274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com