gpt4 book ai didi

java - 使用 JAVA 中的输入流解压缩加密的 zip 文件

转载 作者:行者123 更新时间:2023-12-02 09:47:33 26 4
gpt4 key购买 nike

需要 Java 中的解决方案来使用输入流解压缩一个大文件(无法放入内存)。文件对象在这种情况下不可用。该文件受密码保护。使用 File 对象的解决方案不会有帮助。

我已经尝试过 7Zip,但它不支持上述情况。

最佳答案

当您使用流时,您不应读取超出需要的数据。你试过这个吗?

   public void unzip(InputStream is, Cipher cypher) throws IOException {
ZipInputStream zis = new ZipInputStream(new CipherInputStream(is,cypher));
ZipEntry zipEntry = zis.getNextEntry();
byte[] buffer = new byte[1024];
while (zipEntry != null) {
File newFile = new File(zipEntry.getName());
FileOutputStream fos = new FileOutputStream(newFile);
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fos.close();
zipEntry = zis.getNextEntry();
}
zis.closeEntry();
zis.close();
}

关于java - 使用 JAVA 中的输入流解压缩加密的 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56539176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com