问题标签 [apache-commons-compress]
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 - 在内存中解压缩 ArchiveInputStream
如果来自apache commons compress lib中的ArchiveInputStream的ArchiveEntry是否有可能是另一个Archive,那么我可以将该archiveEntry解压缩到内存中吗?
谢谢
android - android dlavikvm-在 XZ 压缩时堆出 ot 内存分配
我正在尝试在 API 2.3.3 上将 tar 压缩为 tar.xz。
无论我做什么,我都会收到此错误:
这是导致它的代码:
我已经制作了几个不同的版本,但它们都产生相同的错误。我确实在我的应用程序中加载了一个图片库,但尝试在不加载画廊的情况下进行压缩,它产生的效果相同。
有没有人知道问题是什么?解决方案是什么?或者也许是将tar压缩为tar.xz的代码?
谢谢你的帮助。
玉眼。
java - 如何使用 Apache Commons Compress 将文件附加到 .tar 存档?
我阅读了如何将文件附加到 java 中的 tar 存档?,将文件附加到档案而不读取/重写整个档案,并将条目添加到 tar 文件而不覆盖其现有内容,但没有给出好的答案。此外,我没有足够的声誉发表评论。所以我在这里创建了一个新问题。
有没有办法在 tar 存档中附加文件?如果文件已经存在,我想替换它。
我已经开始编写以下方法,但是当添加文件时,它会删除存档内容。我在apache compress 网站上没有找到任何示例。
java - 使用 Commons Compress 将目录压缩到 tar.gz
我在使用公共压缩库创建目录的 tar.gz 时遇到问题。我有一个目录结构如下。
我正在使用以下代码进行压缩。它运行良好,无一例外。但是,当我尝试解压缩该 tar.gz 时,我得到一个名为“childDirToCompress”的文件。它的大小正确,因此文件在焦油处理过程中已清楚地相互附加。所需的输出将是一个目录。我无法弄清楚我做错了什么。任何明智的公共压缩器都可以让我走上正确的道路吗?
java - 并行 BZip2 压缩
我正在使用Apache Commons Compress for Java 将多个日志文件压缩到一个存档 tar.bz2
中。
但是,压缩需要很长时间(> 12 小时),因为我每天压缩大约 20GB 的文件。
由于这个库压缩文件单线程,我想知道是否有办法做到这一点多线程。
我找到了很多解决方案(命令行 pbzip2 或一些 C++ 库),但我为 java 找到的只是这篇博文:
https://plus.google.com/117421466255362255970/posts/3jfKVu325zh
看来我不能在我的 Java 应用程序中使用它。
外面有什么吗?你会推荐什么?还是有另一种更快的解决方案,具有类似的压缩率,例如 bzip2 ?
java - 如何使用 Apache commons compress library 从 ZipArchiveInputStream 获取单个文件内容
我有 org.apache.commons.compress.archivers.zip.ZipArchiveInputStream 对象,我可以从中获取每个 ArchiveEntry 项目并获取单个文件的元数据。但我需要知道将每个文件的内容作为 Blob 获取的方法。
使用 org.apache.commons.compress.archivers.zip.ZipFile 可以完成,但 ZipFile 具有带有物理或临时 File 对象或文件位置的构造函数。我不想为此创建一个临时文件。
即使有办法将 ZipArchiveInputStream 转换为 ZipFile,也可以间接解决问题。
简而言之,我的要求是从 InputStream/Blob 中读取一个 Zip 文件,并将单个文件作为 BLOB 存储在数据库中。
仅供参考:我正在使用 org.apache.commons :: commons-compress :: 1.4.1
任何解决方案/想法/建议都受到高度赞赏。
干杯库姆
java - 用 Java 中的 Commons Compress 解压后如何删除 ZIP 存档?
我编写了一个解压缩 ZIP 存档的程序,然后递归地解压缩或提取其中找到的存档。ZIP 中的档案可能是 tar 或 ZIP 档案,我可以很好地提取它们。
在一些新目录中提取内部档案后,我想删除它们。这适用于 tar 档案,但由于某种原因,它不适用于 ZIP 档案。我已经关闭了所有流,如果删除失败,我会使用 deleteOnExit 作为故障保险,但这也不起作用。
应该没有打开的流,除非关闭 ArchiveInputStream 实际上并没有关闭流。但这同样适用于 tar 档案。
我在某处读到有人可以设法删除 ZIP 档案,调用父文件上的 listFiles() 并找到 ZIP 档案并删除它,但这听起来像是一个奇怪的复杂过程。必须有一些更简单的方法。
编辑:
该问题特定于 Windows。在 Linux(SliTaz 4 和 Red Hat Enterprise 5)上,这可以正常工作。这告诉我 Windows 以某种方式锁定了 ZIP 档案,这似乎有点奇怪。
java - 从 InputStream 创建的 ZipArchiveInputStream,无法读取内容
工作代码:
不工作的代码
想法不是从 InputStream 中读取,而是尝试从 InputStream 创建 ZipArchiveInputStream,以便我可以利用 canReadEntryData() 方法。canReadEntryData() 工作得很好。它对普通文件返回 true,但我无法从 ZipArchiveInputStream 读取内容。
请帮忙。请指出我哪里出错了。
java - java.util.zip.ZipException:存储的块长度无效
我正在尝试将 ZipArchiveEntry 读取到字符串。我有下面的代码,我遇到了异常
我的代码如下
我得到以下异常
真的坚持了很久。请帮忙。
java - 使用 commons.apache.compress 向嵌套 zip 文件添加条目
我的 Zip 文件结构是这样的:
t1.zip
--> t2.zip
--> sample.txt
我想替换sample.txt。如果它是一个级别,我能够做到。请帮助我处理多级嵌套 zip 文件。
我的示例代码
我试过了
我的意图是遵循apache文档页面中的示例
但我不清楚,如何将存档条目 2 级别放在里面?