将多个映射序列化为一个文件

时间:2012-07-10 15:38:58

标签: java serialization map

我正在尝试将多个地图序列化为一个文件,以便我可以在以后检索它们并将所有值重建回原始的不同地图。

地图是简单的键/值对。在现实生活中,只有大约10个不同的地图,每个地图大约有20个,因此性能不是一个大问题。

我最初的想法是使用java Properties文件方法,虽然这似乎只适用于将一个映射序列化到该文件。我需要做多张地图。有没有办法我仍然可以使用属性文件,但为不同的地图值指定分隔符?

如果使用属性文件无法做到这一点,那么实现我想要的最方便的方法是什么?我希望有一些预定义的java实用程序方法用于这种事情,这样我就不必弄清楚自己的文件格式和解析/编写代码。

感谢。

2 个答案:

答案 0 :(得分:1)

如果所有这些对象的类都实现Serializable,您可以使用ObjectOutputStream将地图序列化为文件,然后使用ObjectInputStream稍后阅读它们。

答案 1 :(得分:1)

为了简单地存储地图,使用buildin java序列化(假设您的键和值确实实现了java.io.Serializable)。 使用ObjectOutputStream / ObjectInputStream可以很容易地序列化数据,尽管数据将以二进制形式存储。