如何将zip文件的字节数组转换为ZipFile类型的ZipFile?


byte[] zipBytes = fileService.get("RINV_242_20220629-150309.ZIP");
ZipFile zipFile = new ZipFile(zipBytes);

我不确定我的代码是否能让你更好地理解我的问题。但我想把字节数组转换成zipFile,我需要做什么?

如果不将java.util.zip.ZipFile保存到文件系统上的文件中,就不能使用它。如果您想从byte[]中获得它而不需要保存,则需要使用java.util.zip.ZipInputStream,并将byte[]包裹在ByteArrayInputStream中。

类似:

try (ZipInputStream zis = new ZipInputStream(new ByteArrayInputStream(zipBytes))) {
// ...
}

ZipFile相比,您失去的东西是您不能枚举文件或请求单个文件。相反,您必须使用getNextEntry()遍历zip条目。

最新更新