Android:从文件写入和读取

时间:2015-02-25 15:22:27

标签: java android file

我正在尝试使用Hashmap<String, Integer>ObjectOutPutStream的帮助来撰写和阅读ObjectInputStream。这两个是我这样做的方法:

 protected void saveHashMap(HashMap<String, Integer> newIDs){
    if (fileIDs == null){fileIDs = new File("IDs.txt");}
    try {
        FileOutputStream fos = new FileOutputStream(fileIDs);
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(newIDs);
        oos.close();
    }catch (IOException e){
        e.printStackTrace();
    }
}

protected HashMap readHashmap(){
    HashMap<String, Integer> map = null;
    if(fileIDs == null){fileIDs = new File("IDs.txt");}
    try{
        FileInputStream fis = new FileInputStream(fileIDs);
        ObjectInputStream ois = new ObjectInputStream(fis);
        map = (HashMap) ois.readObject();
        ois.close();
        fis.close();
    }catch(IOException e){
        e.printStackTrace();
    }catch (ClassNotFoundException e){
        e.printStackTrace();
    }
    if(map != null){
        return map;
    }else{
        return new HashMap<String, Integer>();
    }

我目前遇到的问题是readHashMap()会抛出IOEXception“找不到文件”。通过一个糟糕的实现,我必须在调用readHashmap()之前调用writeHashmap(),但我认为这不是问题所在。我不确定为什么没有创建文件,所以我将非常感谢你的帮助。如果您需要更多代码,我会添加它。

0 个答案:

没有答案