android读写删json

来源:互联网 发布:主机名和域名写法 编辑:程序博客网 时间:2024/06/13 14:29
private void DeleteJsonStream(String filesavepath) {//删除json对应的数据
List<DownloadInfo> readJsonStreams = readJsonStream();
for (int i = 0; i < readJsonStreams.size(); i++) {
if (readJsonStreams.get(i).getFileSavePath().equals(filesavepath)) {
readJsonStreams.remove(i);
}
}
writeListJsonStream(readJsonStreams);
}


private void writeJsonStream(DownloadInfo downloadInfo) {


List<DownloadInfo> readJsonStreams = readJsonStream();


readJsonStreams.add(downloadInfo);


writeListJsonStream(readJsonStreams);
}


private void writeListJsonStream(List<DownloadInfo> downloadInfos) {//写json数据


String filePath = "/mnt/sdcard/Android/data/com.mw.guahu/files/android_u3d.json";


if (null == downloadInfos)


return;


try {


FileOutputStream fileOutputStream = new FileOutputStream(filePath);


// 开始写JSON数据
JsonWriter jsonWriter = new JsonWriter(new OutputStreamWriter(fileOutputStream, "UTF-8"));


jsonWriter.beginArray();


for (DownloadInfo info : downloadInfos) {


jsonWriter.beginObject();


jsonWriter.name("url").value(info.getFileSavePath());


jsonWriter.name("image").value(info.getHeadurl());


jsonWriter.endObject();


}


jsonWriter.endArray();


jsonWriter.close();


} catch (Exception e) {
e.printStackTrace();
}
}


private List<DownloadInfo> readJsonStream() {//读json数据


List<DownloadInfo> readJsonStreams = new ArrayList<DownloadInfo>();


String filePath = "/mnt/sdcard/Android/data/com.mw.guahu/files/android_u3d.json";


FileInputStream fileInputStream;
try {
fileInputStream = new FileInputStream(filePath);
JsonReader jsonReader = new JsonReader(new InputStreamReader(fileInputStream, "UTF-8"));


jsonReader.beginArray();


while (jsonReader.hasNext()) {


DownloadInfo downloadInfo = new DownloadInfo();


jsonReader.beginObject();


if (jsonReader.nextName().equals("url")) {


downloadInfo.setFileSavePath(jsonReader.nextString());


}
if (jsonReader.nextName().equals("image")) {


downloadInfo.setHeadurl(jsonReader.nextString());
}


jsonReader.endObject();


readJsonStreams.add(downloadInfo);
}


jsonReader.endArray();


jsonReader.close();


} catch (Exception e) {
e.printStackTrace();
}
return readJsonStreams;
}
0 0
原创粉丝点击