文件缓存(配合JSON数组)

1.   写入缓存:建立文件夹,把list集合里面的数组转换为JSON数组,存入文件夹2.   读取缓存:把JSON数组从文件夹里面读取出来,然后放入list集合,返回list集合

private final static File filefolder=new File("/sdcard/myData");    private final static File filename=new File("/sdcard/myData/tem.txt");

    public static boolean writeCache(List<Data> list)
    {
        if(!filefolder.exists())
            filefolder.mkdirs();
        try
        {
            JSONArray array=new JSONArray();
            for(int i=0;i<list.size();i++)
            {
                Data data=list.get(i);
                JSONObject ob=new JSONObject();
                ob.put("name", data.getName());
                ob.put("reason", data.getReason());

                array.put(ob);
            }

            FileWriter fw=new FileWriter(filename);
            fw.write(array.toString());
            fw.close();
        }
        catch(Exception e)
        {
            e.printStackTrace();
            return false;
        }
        return true;
    }

    public static List<Data> readCache() throws JSONException,IOException
    {
        if(!filefolder.exists())
            filefolder.mkdir();

        List<Data> list=new ArrayList<Data>();

        if(filename.exists())
        {
            FileInputStream in=new FileInputStream(filename);
            String line=null;
            StringBuffer sb=new StringBuffer("");
            BufferedReader br=new BufferedReader(new InputStreamReader(in));

            while((line=br.readLine())!=null)
                sb.append(line);
            br.close();
            in.close();

            JSONArray array=new JSONArray(sb.toString());
            for(int i=0;i<array.length();i++)
            {
                JSONObject ob=new JSONObject();
                ob=array.getJSONObject(i);
                Data data=new Data();
                data.setName(ob.getString("name"));
                data.setReason(ob.getString("reason"));

                list.add(data);
            }
        }
        return list;

    }
时间: 2024-10-27 13:31:05

文件缓存(配合JSON数组)的相关文章

关于ajax配合json数组实现无刷新

1新建一个text.html页面 <!doctype html> <html> <head> <meta charset=gb2312"> <title></title> <script type="text/javascript"> window.onload=function(){ document.getElementById('search').onclick=function(){

八、Delphi10.3读取JSON文件,并修改JSON数组一条内容后保存到文件

一.我们有一个JSON文件,如下: { "在野": [ { "城池": 0, "武将": 74, "登场年": 190 }, { "城池": 0, "武将": 11, "登场年": 208 }, { "城池": 29, "武将": 78, "登场年": 198 } ], "跟随": [ {

jsonp跨域访问servlet接口获取json数组,并且渲染数据,前后端完整

啊哈哈哈哈哈哈哈哈哈哈哈我太激动了~ 其实这个工作我一直在拖延啊,就觉得哇,好难啊,不想做欸= = 然后硬着头皮研究了一整个下午+晚上终于搞清楚了~~~~哇哈哈哈哈~~~好神奇哈哈哈哈哈~~~(疯了吧!) json.jsonp.jQuery Ajax这些东西说定义我也不是特别研究,只懂个大概,就不去复制百科了,没意思. 一.先说我要做的事情的需求,上来就撸代码估计很多人懵逼(就像今天下午的我一样- -||) 意图:本地服务端servlet生成json数据,我想在前端获取json数据并渲染成列表显

使用QtScript库解析Json数组例子

本文转载自:http://blog.sina.com.cn/s/blog_671732440100uwxh.html 使用qtscipt库解析json数组首先在工程文件中加 QT        += script 然后头文件加 #include <QtScript> 然后解析 QString str = "{\"name\":\"xiaotang\", \"age\":\"23\", \"chi

C#读取excel文件,生成json

这段时间在做一个数据管理系统,需要读取excel表格,组装json,最终存入mongodb,这里记录一下解决思路. 需要做的准备工作: 1.安装AccessDatabaseEngine 下载地址:https://products.office.com/zh-cn/compare-all-microsoft-office-products?tab=1 有32bit和64bit两个版本,具体要安装哪个要看你的Office程序是32bit的还是64bit的.通常来讲,一般是选择与office程序相对应

将JSON数组显示前台Table中

将JSON数组显示前台Table中 在最近的学习中遇到一个小问题,如何把JSON数组显示在前台的table中,经过一番借鉴和学习之后终于解决了这个问题.具体的代码如下: (前提:利用ajax获取过来的JSON字符串必须是规范的,这样才能解析正确.后台获取数据库中数据的代码省略了) 1.前台JS代码(使用之前引入JQuery的js库文件) $.ajax({ type: "GET", url: "UserList.ashx?Action=List",//利用ajax请求

Json转string对象 打印输出; String 转json数组

后台json转成string对象的形式打印输出 success:function(json){     JSON.stringify(json) } 打印形式 [{"id":"3","text":"主页","FUN_ID":"3","FUN_CD":"5","pid":"","FUN_NM"

PHP缓存之文件缓存

1.PHP文件缓存内容保存格式        PHP文件缓存内容保存格式主要有三种: (1)变量 var_export 格式化成PHP正常的赋值书写格式: (2)变量 serialize 序列化之后保存,用的时候反序列化: (3)变量 json_encode格式化之后保存,用的时候json_decode 互联网上测试结果是:serialize格式的文件解析效率大于Json,Json的解析效率大于PHP正常赋值. 所以我们要是缓存数据建议采用序列化的形式解析数据会更快. 2.PHP文件缓存的简单案

iOS 之 文件缓存

对于信息量不是太大的数据,可以使用文件缓存来处理.文件缓存可以缓存字典和数组. 步骤一:创建路径 路径要一级一级往下创建,基本不用考虑创建失败的情况.但是如果创建失败了要怎么做呢?按道理应该提示出来.结束往下的操作,因为没有办法继续创建下面的目录. 创建路径要放到~Document下面,在真机上才能运行. 创建路径只是目录,文件名称还要在读写时附加上. 步骤二:读写