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;}
以上所述是小编给大家介绍的文件缓存(配合JSON数组),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!