文件缓存(配合JSON数组)
1. 写入缓存:建立文件夹,把list集合里面的数组转换为JSON数组,存入文件夹
2. 读取缓存:把JSON数组从文件夹里面读取出来,然后放入list集合,返回list集合
privatefinalstaticFilefilefolder=newFile("/sdcard/myData"); privatefinalstaticFilefilename=newFile("/sdcard/myData/tem.txt"); publicstaticbooleanwriteCache(List<Data>list) { if(!filefolder.exists()) filefolder.mkdirs(); try { JSONArrayarray=newJSONArray(); for(inti=0;i<list.size();i++) { Datadata=list.get(i); JSONObjectob=newJSONObject(); ob.put("name",data.getName()); ob.put("reason",data.getReason()); array.put(ob); } FileWriterfw=newFileWriter(filename); fw.write(array.toString()); fw.close(); } catch(Exceptione) { e.printStackTrace(); returnfalse; } returntrue; } publicstaticList<Data>readCache()throwsJSONException,IOException { if(!filefolder.exists()) filefolder.mkdir(); List<Data>list=newArrayList<Data>(); if(filename.exists()) { FileInputStreamin=newFileInputStream(filename); Stringline=null; StringBuffersb=newStringBuffer(""); BufferedReaderbr=newBufferedReader(newInputStreamReader(in)); while((line=br.readLine())!=null) sb.append(line); br.close(); in.close(); JSONArrayarray=newJSONArray(sb.toString()); for(inti=0;i<array.length();i++) { JSONObjectob=newJSONObject(); ob=array.getJSONObject(i); Datadata=newData(); data.setName(ob.getString("name")); data.setReason(ob.getString("reason")); list.add(data); } } returnlist; }
以上所述是小编给大家介绍的文件缓存(配合JSON数组),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!