问题标签 [zip4j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Zip4j 将文件写入 ZIP 存档
我有一个 3D 应用程序,其中保存和加载文件一直在进行。这些文件通常很大,但很容易压缩,所以我想压缩它们。我没有在 ZipFile 中找到可以让我直接将文件写入其中的方法,因为一直打开流并写入临时文件的成本太高。
是否可以使用 Zip4j(或其他可以在创建 ZIP 文件后编辑 ZIP 文件的库)直接写入 ZIP 文件?或者我可以在另一个线程中写入文件而没有滞后吗?
android - 来自 Inputstream 的文件对象
我想在我的 android 应用程序中应用 zip4j。我将演示 zip 文件放入资产文件夹 ( main/assets/test.zip
)。我想用 zip4j 打开它:
但是,应用 zip4j 所需的构造函数需要一个String
对象(文件的绝对路径)或File
对象。但是 Android 的 AssetManger 只返回一个InputStream
. 也请不要:AssetManger 不提供绝对路径或其他东西。
那么,我必须做什么才能将输入流InputStream is = getResources().getAssets().open(filename);
转换为一个java.io.File
对象,然后我可以将其应用于ZipFile
java - Java解压缩没有子文件夹的.zip文件
我正在使用 zip4j 进行解压,但现在我需要解压没有原始文件夹结构的 .zip 文件。
我想将 abc.zip 中的所有文件直接提取到桌面。
由于 .zip 文件将受密码保护,因此我无法通过 java.util.zip 库执行此操作。我对我的要求进行了一些研究,但徒劳无功。我还尝试查看/重写 zip4j 的源代码,但这似乎超出了我的能力范围。
我是否错过了 zip4j 中可以帮助我轻松实现它的任何设置,或者是否有任何其他适合此要求的 java 库?
以下是我的部分程序的源代码:
java - Android 列出特定 zip 文件夹中的文件
我正在尝试列出 zip 文件夹中的文件。我知道我可以使用 zip4j 库或 javaZipFile
类。
我的问题是使用这些工具中的任何一个,如何列出 zip 中给定目录中的文件?
java - Zip4j 库:如何检查 zip 文件是否为空?
您好,我正在使用 Java 的 zip4j 库将 zip 文件提取到目录中。
我从互联网上得到这个 zip 文件。
一切正常,但是当 zip 文件为空时出现此异常。
这是有问题的线。
调试时,我发现这只发生在空的 zip 文件中,即里面没有任何东西的存档。
但是我遇到的问题是如何检查存档中的文件数量,因为我发现如果我这样做
我能够获取有关 zip 内容的信息,即文件数量和大小等。
但是有一个大问题。异常在这里被抛出
此时抛出异常
我需要实例来访问文件头
请帮忙
java - 在java中压缩文件夹
我正在使用 java 7 在 Eclipse 中开发一个项目,我想压缩一个目录,其中包含许多目录和文件并建立一个密码保护,我为它们使用 zip4j 库,它解决了我的问题,但不是全部,因为它只建立目录内文件的密码,而不是根文件夹的密码,换句话说,我希望当我们自动双击 zip 文件时,它会要求我写一个像 windows 一样的密码,所以这样做。这是我使用上述库的代码:
java - 在 ZIP 文件中提取受密码保护的文件而不会失去保护
我正在尝试提取包含受密码保护的 PDF 文件的 ZIP 文件。下面是我提取 ZIP 文件的代码。
执行代码后,ZIP 文件将被提取,但我丢失了应用于 PDF 文件的密码保护。如何在不丢失文件密码保护的情况下提取 ZIP 文件。
注意:如果我发表评论zipFile.setPassword("abcd1234");
,那么我会遇到异常
线程“主”net.lingala.zip4j.exception.ZipException 中的异常:net.lingala.zip4j.exception.ZipException:net.lingala.zip4j.exception.ZipException:为 net.lingala.zip4j 处的 AES 解密器提供的密码为空或空.unzip.Unzip.initExtractFile(Unzip.java:163) 在 net.lingala.zip4j.unzip.Unzip.initExtractAll(Unzip.java:83) 在 net.lingala.zip4j.unzip.Unzip.extractAll(Unzip.java:73) ) 在 net.lingala.zip4j.core.ZipFile.extractAll(ZipFile.java:488) 在 net.lingala.zip4j.core.ZipFile.extractAll(ZipFile.java:451) 在 Shiva.ZipProtect.zipFileUsingPassProtect(ZipProtect.java: 51) 在 Shiva.ZipProtect.main(ZipProtect.java:25) 引起:net.lingala.zip4j.exception.ZipException:net.lingala.zip4j.exception.ZipException:在 net.lingala 处为 AES 解密器提供了空或空密码.zip4j.解压缩。UnzipEngine.unzipFile(UnzipEngine.java:98) at net.lingala.zip4j.unzip.Unzip.initExtractFile(Unzip.java:160) ... 6 更多原因:net.lingala.zip4j.exception.ZipException:空或空在 net.lingala.zip4j.crypto.AESDecrypter.(AESDecrypter.java:65) 在 net.lingala.zip4j.unzip 的 net.lingala.zip4j.crypto.AESDecrypter.init(AESDecrypter.java:99) 为 AES Decryptor 提供的密码.UnzipEngine.initDecrypter(UnzipEngine.java:202) 在 net.lingala.zip4j.unzip.UnzipEngine.init(UnzipEngine.java:185) 在 net.lingala.zip4j.unzip.UnzipEngine.getInputStream(UnzipEngine.java:118) 在net.lingala.zip4j.unzip.UnzipEngine.unzipFile(UnzipEngine.java:78) ... 7 更多zip4j.exception.ZipException:在 net.lingala.zip4j.crypto.AESDecrypter.(AESDecrypter.java:65) 处为 net.lingala.zip4j.crypto.AESDecrypter.init(AESDecrypter.java:99) 处的 AES 解密器提供空密码或空密码) 在 net.lingala.zip4j.unzip.UnzipEngine.init(UnzipEngine.java:185) 在 net.lingala.zip4j.unzip.UnzipEngine 的 net.lingala.zip4j.unzip.UnzipEngine.initDecrypter(UnzipEngine.java:202)。 getInputStream(UnzipEngine.java:118) 在 net.lingala.zip4j.unzip.UnzipEngine.unzipFile(UnzipEngine.java:78) ... 7 更多zip4j.exception.ZipException:在 net.lingala.zip4j.crypto.AESDecrypter.(AESDecrypter.java:65) 处为 net.lingala.zip4j.crypto.AESDecrypter.init(AESDecrypter.java:99) 处的 AES 解密器提供空密码或空密码) 在 net.lingala.zip4j.unzip.UnzipEngine.init(UnzipEngine.java:185) 在 net.lingala.zip4j.unzip.UnzipEngine 的 net.lingala.zip4j.unzip.UnzipEngine.initDecrypter(UnzipEngine.java:202)。 getInputStream(UnzipEngine.java:118) 在 net.lingala.zip4j.unzip.UnzipEngine.unzipFile(UnzipEngine.java:78) ... 7 更多202) 在 net.lingala.zip4j.unzip.UnzipEngine.init(UnzipEngine.java:185) 在 net.lingala.zip4j.unzip.UnzipEngine.getInputStream(UnzipEngine.java:118) 在 net.lingala.zip4j.unzip.UnzipEngine .unzipFile(UnzipEngine.java:78) ... 还有 7 个202) 在 net.lingala.zip4j.unzip.UnzipEngine.init(UnzipEngine.java:185) 在 net.lingala.zip4j.unzip.UnzipEngine.getInputStream(UnzipEngine.java:118) 在 net.lingala.zip4j.unzip.UnzipEngine .unzipFile(UnzipEngine.java:78) ... 还有 7 个
我正在使用Zip4j创建和提取 ZIP 文件。
java - 使用 zip4j 库在 android 应用程序中导出导入 zip 文件
我有一个应用程序需要从数据库中获取数据并导出为 zip 文件。
由于我的 zip 文件需要密码保护,我检查了一些库。
我将 zip4j 作为一个库,它可以帮助我进行密码加密并导出为 zip 文件。
但是我发现了一些问题。
无法使用任何 zip 软件提取导出的 zip 文件。只有 WinZip 和 7-zip 可以完美提取。我不知道为什么其他软件无法提取。我认为其他软件不支持加密技术 AES_STRENGTH_256。如果我错了,请纠正我
当用户单击 gmail 中的附件时,我需要执行导入。所以我尝试获取 zip 文件。但它以流的形式出现
/li>
但我看到 zip4j 库无法从流中读取。
有了这个问题,有人可以帮我实现导入 zip 文件并提取其中的 csv 文件。
由于导入是从 gmail 完成的,我觉得数据以流的形式出现,我们需要获取并提取 zip 文件。
java - Zip4J -> java.security.ProviderException:无法构造 MacSpi 实例
我正在尝试使用lingala zip4j
存档X509Certificate
文件。
但是,只有在使用Junit
.
如果我将我的应用程序作为产品(这是一个 Spring Web 应用程序)运行 - 它可以正常工作,没有例外,我能够正确存档和取消存档文件而没有问题。
这是我的 Utils 代码,用于归档我使用的证书:
我正在使用 Java 1.6
我也尝试过使用 1.8,但我得到了同样的错误。
注意:只有当我使用 Junit 运行时才会发生这种情况......