作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要从存储来自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/
我是一名优秀的程序员,十分优秀!