** 最近遇到一个需求,要调取接口获取一个zip文件流。解析zip包,读取启动的文件内容来进行业务处理。以下是处理读取zip压缩包方法,话不多说直接上代码。**
读取zip文件流,解析压缩文件
public static void main(String[] args) {
String zipFilePath = "example.zip";
try {
FileInputStream fis = new FileInputStream(zipFilePath);
ZipInputStream zis = new ZipInputStream(fis);
ZipEntry zipEntry = zis.getNextEntry();
while (zipEntry != null) {
// 如果该项是一个文件
if (!zipEntry.isDirectory()) {
String fileName = zipEntry.getName();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = zis.read(buffer)) > 0) {
bos.write(buffer, 0, len);
}
// 将解压出的文件流输出到控制台
String content = bos.toString();
System.out.println(fileName + ": " + content);
}
zis.closeEntry();
zipEntry = zis.getNextEntry();
}
zis.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}