我有一个HashMap
,其中包含Set<String>
作为键和值,
HashMap<Set<String>, Set<String>> mapData = new HashMap<Set<String>, Set<String>>();
如果我想将此HashMap
对象写到文件中,什么是最好的方法。我也想从该文件中以HashMap<Set<String>, Set<String>>
的形式读回它。
答案 0 :(得分:1)
这是我将映射写入文件并从文件读回的方式。您可以针对您的用例进行调整。
public static Map<String, Integer> deSerializeHashMap() throws ClassNotFoundException, IOException {
FileInputStream fis = new FileInputStream("/opt/hashmap.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
Map<String, Integer> map = (Map<String, Integer>) ois.readObject();
ois.close();
System.out.printf("De Serialized HashMap data saved in hashmap.ser");
return map;
}
public static void serializeHashMap(Map<String, Integer> hmap) throws IOException {
FileOutputStream fos = new FileOutputStream("/opt/hashmap.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(hmap);
oos.close();
fos.close();
System.out.printf("Serialized HashMap data is saved in hashmap.ser");
}
答案 1 :(得分:0)
我不确定,如果您真的想这样做,但是使用序列化就这么简单:
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(yourFile)))
{
out.writeObject(map);
}