如何从 Java 中的字节数组创建 ZipFile

hty*_*leo 3 java zip

在 Java 中你必须做 new ZipFile(new File("xxx.zip")); 解压缩一个 zip 文件。

现在我得到一个字节数组,其内容是一个 zip 文件。我从数据库而不是文件中获取这个字节数组。我想解压缩这个“字节数组文件”,但没有用于字节数组或字符串的 ZipFile 构造函数(我的意思是内容而不是文件路径)。

有什么解决办法吗?(当然,我不想将此字节数组写入实际文件并再次将其读入内存。)

谢谢!

Lee*_*dor 5

在从字节数组创建的 ZipInputStream 中使用 ByteArrayInputStream

byte[] ba;

InputStream is = new ByteArrayInputStream(ba);
InputStream zis = new ZipInputStream(is);
Run Code Online (Sandbox Code Playgroud)

使用 zis 读取未压缩的内容