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条目。