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