文件缓存(配合JSON数组)
程序员文章站
2024-02-28 08:58:58
1. 写入缓存:建立文件夹,把list集合里面的数组转换为json数组,存入文件夹
2. 读取缓存:把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; }
以上所述是小编给大家介绍的文件缓存(配合json数组),希望对大家有所帮助