使用HashMap读取和写入对象的arrayList

时间:2015-04-19 11:57:43

标签: java android arraylist hashmap read-write

我想写和读“HashMap'提交。

我的' HashMap'是:

Map<String, ArrayList<Descipline>> mapDis = new HashMap<String, ArrayList<Descipline>>();

我写这样的文件:

String root = Environment.getExternalStorageDirectory().toString();

        Properties properties = new Properties();

        for (Map.Entry<String, ArrayList<Descipline>> entry : mapDis.entrySet()){
            properties.put(entry.getKey(), entry.getValue());
        }

        properties.store(new FileOutputStream(root + "/myMap.txt"), null);

但我不知道如何阅读它。

 Map<String, ArrayList<Descipline>> load = new HashMap<String, ArrayList<Descipline>>();

        Properties properties1 = new Properties();

        properties1.load(new FileInputStream(root + "/myMap.txt"));

        for (String key : properties1.stringPropertyNames()){
            //something will be here to read file
        }

2 个答案:

答案 0 :(得分:0)

您已经加载了该文件。在循环中,您正在读取文件(即地图)条目,因此只需再次使用put方法

答案 1 :(得分:0)

这很简单:java.util.Propertiesjava.util.HashTable的子类,它实现java.util.Map,就像java.util.HashMap一样。因此,您可以像保存时一样使用entrySet进行迭代,同时为您提供密钥和值。

但是请注意,Properties保存和加载需要密钥和值String(.properties文件是简化的&#39; ini&#39;文件),因此您可能需要改为调查java.io.Serializable