将复杂的Hashmap写入并读取到文件

时间:2015-10-07 20:14:57

标签: java

我有这种格式的散列图:

Map<String, Map<String, List<String>>> userMap = new HashMap<String, Map<String, List<String>>>();

如何以简单的方式将hashmap写入文件?我希望能够再次从文件中读取内容,以便稍后在哈希映射中重用它们。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

有各种方法:

  • 使用java序列化
  • 使用类似JSON / XML /等的东西

JSON的优点是比序列化更简洁,更易读,所以我更喜欢它。对于JSON,您可以使用许多可以非常简单地完成任务的优秀库。一些建议:

  • GSON - 谷歌图书馆非常易于学习和使用。
  • Jackson - 非常强大,非常易于使用,具有许多功能,并且在许多流行的框架中使用。

如果您因任何原因决定采用序列化路由,则应注意,您定义的任何类型都需要实现Serializable标记接口。

答案 1 :(得分:1)

我正在使用XStream将HashMaps序列化为XML。但是,如果XStream中的转换器不支持您的地图实现,则可能需要一些自定义转换器。见http://x-stream.github.io/converters.html。然而,HashMap就是其中之一。