此地方以x线上资源 几个json文件的zip压缩包为例
public Map<String,String> readData(String urlStr) throws IOException {
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//设置超时间为3秒
conn.setConnectTimeout(3 * 1000);
//得到输入流
InputStream inputStream = conn.getInputStream();
ZipInputStream zin = new ZipInputStream(inputStream, Charset.forName("utf-8"));
BufferedInputStream bs = new BufferedInputStream(zin);
byte[] bytes = null;
ZipEntry ze;
Map<String,String> jsonMap= Maps.newHashMap();
//循环读取压缩包里面的文件
while ((ze = zin.getNextEntry()) != null) {
StringBuilder orginJson = new StringBuilder();
if (ze.toString().endsWith(".json")) {
//读取每个文件的字节,并放进数组
bytes = new byte[(int) ze.getSize()];
bs.read(bytes, 0, (int) ze.getSize());
//将文件转成流
InputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
BufferedReader br = new BufferedReader(
new InputStreamReader(byteArrayInputStream));
//读取文件里面的内容
String line;
while ((line = br.readLine()) != null) {
orginJson.append(line);
}
//关闭流
br.close();
String name=new String(ze.getName().replace(".json",""));
jsonMap.put(name,orginJson.toString());
}
}
zin.closeEntry();
inputStream.close();
return jsonMap;
}