首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Java对象(反)序列化到文件的最佳方法是什么

将Java对象(反)序列化到文件的最佳方法是什么
EN

Stack Overflow用户
提问于 2013-01-14 20:21:41
回答 3查看 630关注 0票数 3

我想将Java对象保存到文件中(用于稍后的单元测试)。我已经尝试过JSON,但由于我不拥有我正在序列化的对象的类,因此反序列化变得比它的价值更大。(现有类的getter和setter被不同的类型重载,Jackson不知道如何反序列化对象)

现在,我正在探索其他方法(例如,序列化为二进制或其他格式)。我想知道是否有什么东西可以将Java对象转储为二进制/文件,这样反序列化就很简单了。我知道你可以用Serializable接口做到这一点,但是我再说一次,我不拥有这些没有实现这个接口的类,所以它们不能修改。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-14 20:27:06

您也可以使用XStream,它不依赖于实现了Serializable接口的类。

票数 7
EN

Stack Overflow用户

发布于 2013-01-14 20:25:10

如果它们实现了Serializable,您不需要拥有它们(也不需要修改它们),您只需使用ObjectOutputStream将它们写入文件,然后使用ObjectInputStream将它们读回

假设这些类有适当的getter和setter,这样做应该没有问题。

票数 0
EN

Stack Overflow用户

发布于 2013-01-14 21:08:45

您也可以使用Kryo。基准测试(herehere)表明,它是序列化/反序列化最快的之一,而且使用的空间也更少。它也不需要Serializable来实现。也就是说,我从来没有亲自使用过它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14318329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档