2015-10-07 6 views
1

У меня есть HashMap в этом формате:читать и писать сложный Hashmap в файл

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

Как я могу написать HashMap в файл простым способом? Я хочу также снова прочитать содержимое из файла, чтобы позже использовать его в hashmap.

Как это сделать?

ответ

1

Существуют различные подходы:

  • Использование Java сериализации
  • используя что-то вроде JSON/XML/и т.д..

JSON имеет преимущество быть более понятным и понятным для пользователя, чем сериализация, поэтому я бы предпочел это. Для JSON есть много больших библиотек, которые вы можете использовать, которые могут выполнить задачу очень просто. Несколько рекомендаций:

  • GSON - Google Analytics очень проста в освоении и использовании.
  • Jackson - очень мощный, очень простой в использовании, имеет множество функций и используется во многих популярных фреймворках.

Если вы решили поехать по пути сериализации по какой-либо причине, вы должны знать, что любые типы, которые вы определяете, должны будут использовать интерфейс маркера Serializable.

1

Я использую XStream для сериализации HashMaps в XML. Однако вам могут понадобиться некоторые настраиваемые преобразователи, если ваша реализация карты не поддерживается преобразователями в XStream. См. http://x-stream.github.io/converters.html. Однако среди них есть HashMap.

Смежные вопросы