Android中用文件形式将List数据缓存在本地

来源:互联网 发布:视频水印制作软件 编辑:程序博客网 时间:2024/06/12 13:08

1.存储数据

     /**     * 数据存放在本地     *     * @param tArrayList     */    public void saveStorage2SDCard(ArrayList tArrayList, String fileName) {        FileOutputStream fileOutputStream = null;        ObjectOutputStream objectOutputStream = null;        FileInputStream fileInputStream = null;        try {            File file = FileUtils.getFile(File.separator + FileUtils.projectPath + File.separator + fileName);            fileOutputStream = new FileOutputStream(file.toString());  //新建一个内容为空的文件            objectOutputStream = new ObjectOutputStream(fileOutputStream);            objectOutputStream.writeObject(tArrayList);        } catch (Exception e) {            e.printStackTrace();        }        if (objectOutputStream != null) {            try {                objectOutputStream.close();            } catch (IOException e) {                e.printStackTrace();            }        }        if (fileOutputStream != null) {            try {                fileOutputStream.close();            } catch (IOException e) {                e.printStackTrace();            }        }    }

2.取数据

    /**     * 获取本地的List数据     *     * @return     */    public ArrayList<StorageEntity> getStorageEntities(String fileName) {        ObjectInputStream objectInputStream = null;        FileInputStream fileInputStream = null;        ArrayList<StorageEntity> savedArrayList = new ArrayList<>();        try {            File file = FileUtils.getFile(File.separator + FileUtils.projectPath + File.separator + fileName);            fileInputStream = new FileInputStream(file.toString());            objectInputStream = new ObjectInputStream(fileInputStream);            savedArrayList = (ArrayList<StorageEntity>) objectInputStream.readObject();        } catch (Exception e) {            e.printStackTrace();        }        return savedArrayList;    }
0 0
原创粉丝点击