问题标签 [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 缺少添加的最后一个文件
我正在尝试使用 Zip4j 库压缩一堆文件。我传递了我要压缩的文件的文件路径列表,并将它们一一添加到 zip 文件中。由于某种原因,最后一个文件没有被添加。我检查了循环的索引,我很确定它们是正确的。我没有收到任何异常或错误消息。这是我的代码:
添加时会打印所有文件路径。有任何想法吗?
android - zip4j:从加密文件中获取流是否会创建一个临时的未加密暂存区?
我有以下代码可以在 Android 上使用 zip4j 读取加密的 zip 文件。我不提供临时文件。zip4j 是否会创建一个用于解密的临时文件?或者 zip 标准是否允许即时解密,因此不会将加密数据临时写入存储?
java - zip4j 如何解压目录
我需要使用 zip4j 从 zip 中提取目录。我可以在目录中找到每个文件并将其解压缩。
如何列出目录中的文件?
或者,是否有将目录提取到路径的实用程序?
java - 用于大量文件的 Java zip 库
我有超过 100.000 个文件,其中将近 4GB。它的 html 因此可以压缩 70-80%。文件范围从 200 KB 到近 10 MB。
我正在开发一个将文件从 xml 转换为 html 的应用程序。最后,应用程序会将 html 目录归档到一个 zip 文件中。
我使用了一个名为“copy-maven-plugin”的maven插件。这个插件的文档非常好,而且很容易使用。该插件使用的存档功能默认为“ant zip”,但您可以将其更改为使用 TrueZip。为了打开它的对面。无论如何,我试图以两种方式打包我的怪物文件夹。默认的 Ant zip 使用 43 分钟,TrueZip 使用 38 分钟。在我看来,这两种方式都非常重要。
然后我在命令行中使用“zip -r 存档文件夹”尝试了相同的操作,只用了 4 分钟。 编辑:最近无法在 40 分钟内获得拉链。我想也许 4 分钟的那个可能会以一个损坏的 zip 结尾。
所以我在想java在处理这么多文件时可能不是那么好。
有没有人知道或有这种问题的经验?
我正在考虑也许实现我自己的东西并通过改变字节读取大小它会有所帮助吗?我知道您可以通过将 ZipInputStream/ZipOutputStream 与 Zip4j 一起使用来创建/解压缩 zip 文件并使用您自己的缓冲区大小来限制读取的数据块,但我没有尝试过。当它需要永远时,我不能一直等待找出答案;-)
截至昨晚,maven 在 zipIt.sh (zip -r ...) 上调用 exec 以在合理的时间内完成工作,但我想给 java 一个怀疑的好处。
更新 1 我测试了不同的方法(所有默认压缩级别):
- 来自java的zip4j。只用了3分钟。但文件已损坏。似乎 zip4j 不处理这么多文件。
- Ant zip(通过 maven 插件)。压缩:大约 980MB。慢速:约40分钟
- tar + xz 从命令行。压缩:567MB。速度不佳:63 分钟。
- 从命令行压缩。压缩:981MB。速度:40分钟
- tar + bz2 从命令行。压缩:602MB。速度:13分钟
- tar + gz 从命令行。压缩:864MB。速度:5分钟
- java.util.zip.ZipOutputStream。压缩:986MB。速度:炽热4分18秒
tar+bz2 和 tar+gz 似乎都是不错的选择,并为我提供了压缩或速度最重要的选项。
我没有 testet jdk7.0 ZipOutputStream 但看起来我可能已经解决了。我使用了一个 64KB (64*1024) 的读取缓冲区,它看起来就像一个魅力。看来我毕竟用 java 打了金子 :-)
这是我的实现
android - 不支持 zip4j 压缩类型异常:Android
我正在尝试使用适用于 android 的 zip4j 库解压缩受密码保护的 zip 文件。但它给出了不支持的压缩类型异常。我进行了很多搜索,但找不到任何原因或解决方案。
所以我的问题是:
- 为什么我得到这个例外?
如何解决这个问题呢?我应该使用任何其他库吗?
/li>
java - 解压文件夹而不覆盖新文件
我想解压缩一个 ZIP 格式的大文件夹,其中嵌套的子目录位于一个已经存在的目录中。ZIP 文件夹内的文件可以存在于解压后的目录中。仅当该文件的日期比 ZIP 文件夹中文件的日期新时,我才需要保留以前的文件。如果 ZIP 中的文件较新,那么我想覆盖它。
这样做有什么好的策略吗?我已经检查了 truezip 和 zip4j,但我找不到选项(目前对我来说最好的选择是修改 zip4j 源,但它应该是更好的方法。
PS如果我没有正确解释这一点,请随时提问。英语不是我的母语,我本可以表达任何错误..
谢谢。
java - 从内存文件在磁盘上创建 Zip 文件
首先,请原谅我糟糕的编码!
要求:
1. 从数据库结果集中在内存中创建 xls/xlsx 报告(即纯文本文件不应写入磁盘)。
2.从内存中的 xlsx 文件在磁盘上创建 ZIP。
环境:
WinXP SP2、JDK1.6_06、Zip4j1.3.1、poi3.8
我正在使用 Apache 的 POI 和 Zip4j,并且正在关注 Mr.Shrikant 在“ http://www.lingala.net/zip4j/forum/index.php?topic=257.0 ”上发布的示例
观察:
1. 该程序将 27,842 字节的 xlsx 文件写入磁盘以获取样本数据。
2. 同一个 Workbook 创建 ByteArrayOutputStream, baoStream 大小为 49022bytes
3. 加密压缩后创建大小为 43,084 字节的文件。
4. 解压 Zip 文件时,
a) WinZip,抛出错误“UnExpected End of File”
b) Winrar,抛出“CRC Error”
请大家指正,哪里不对,哪里不好改进,哪里不好!
提前致谢!
java - 如何在特定文件夹中添加文件(在 ZIP 中)
以下代码,如何使用 java 将文件添加到 zip:
如何将文件添加到此 zip 存档中的特定文件夹中?
java - Zip4j 无法解压缩在 unix 中创建的 gz 文件
Zip4j 无法打开/提取在 UNIX 中创建的 gz 文件。7Zip 打开文件没有任何问题。zip 未加密。在读取文件中的文件头之前是否有任何选项要设置(如主机类型)。
输出
java - Zip4j:如果创建的 zip 文件存在,如何覆盖
当我使用 Zip4j 创建 zip 文件时,我想覆盖现有的 zip 文件。当我使用 Zip4j 创建 zip 文件时,我的文件将根据 splitSize 进行拆分。所以我无法检查。这是我的代码示例...