我正在调用一些返回HTTP响应的代码。我可以得到响应的内容,它返回一个字节数组。字节表示我想要提取的zip文件并获取单个文件的内容(zip只包含一个文件)。
目前我有一些杂乱的代码(如果我保留它,我需要清理它)似乎有效:
byte[] bytes = response.out.toByteArray();
ByteArrayInputStream input = new ByteArrayInputStream(bytes);
ZipInputStream zip = new ZipInputStream(input);
ByteArrayOutputStream output = new ByteArrayOutputStream();
zip.getNextEntry();
int data;
while ((data = zip.read()) != -1) output.write(data);
output.close();
zip.close();
input.close();
byte[] kmlBytes = output.toByteArray();
String contents = new String(kmlBytes, "UTF-8");
但是想知道是否有更清洁的方法来做同样的事情,因为上面看起来非常难看。