引言:最近做腾讯云拿到自己软件的聊天记录,并保存。腾讯云提供的是一个网址,通过这个网址下载gzip文件,再解析gzip文件的json数据,第一次做gzip文件解析,想记录下。
想法:想要获取文件,有两个方法:
第一个是先将文件下载下来,然后程序读取文件,解析数据;这种方式适合在聊天数据特别多的时候,可以逐行解析。
第二个是直接从网址获取byte数组,然后将byte数组按gzip转码,得到String字符串。然后再解析字符串就可以了
----------------------------------------------------------------------------------------------------------------------------------第二种方式:
① 直接从网址获取byte数组 转载: https://www.cnblogs.com/yy123/p/5283175.html
public static byte[] urlTobyte(String url) throws MalformedURLException {
URL ur = new URL(url);
BufferedInputStream in = null;
ByteArrayOutputStream out = null;
try {
in = new BufferedInputStream(ur.openStream());
out = new ByteArrayOutputStream(1024);
byte[] temp = new byte[1024];
int size = 0;
while ((size = in.read(temp)) != -1) {
out.write(temp, 0, size);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
byte[] content = out.toByteArray();
return content;
}
②通过gzipUtil工具类解压为字符串 转载:http://www.xuebuyuan.com/zh-hant/81