ZipInputStream 解压 ZIP 字节

##简单实例
使用ZipInputStream 直接在内存中解压ZIP字节流,无需写在磁盘上,比如HttpClient下载了文件,直接在内存中解压,无需再保存的临时目录当中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 解压出的文件字节
ByteArrayOutputStream file = new ByteArrayOutputStream();
//要解压的ZIP 文件字节
ZipInputStream zip = new ZipInputStream(new ByteArrayInputStream(out.toByteArray()));
try {
// 只解压第一个文件
zip.getNextEntry();
byte[] buffer = new byte[1024];
int length = 0;
//获取解压字节
while((length = zip.read(buffer)) > 0){
file.write(buffer, 0, length);
}
} catch (IOException e) {
e.printStackTrace();
}