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;
}
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;
}