问题标签 [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 - Apache Commons:不支持的ZipFeatureException (LZMA)
我想解压缩使用 Windows 10 的压缩功能创建的 .zip 文件(其中包含 .jpg 文件)。
首先我用Java 8的本机测试了它,util.zip.ZipEntry
但一直invalid CEN header (bad compression method)
报错,这似乎是由于与Win10的压缩不兼容造成的。
因此,我切换到 Apache Common 的Compress
库(1.2 版)。存档中的前两个图像解压缩正常,但第三个总是抛出异常:
org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException: 条目 image3.jpg 中使用的不支持的压缩方法 14 (LZMA)
如何使用Compress
库完全解压缩此存档?这甚至可能吗?
我的代码:
java - 从 TarArchiveInputStream 获取特定的文件输入流
我有一个 tar 文件,其中包含许多文件。我需要从 tar 文件中获取特定文件并从该文件中读取数据。
我正在使用下面的代码解压文件,我将使用其他函数读取这个返回的输入流。
当我这样做时,我得到空指针异常versionInputStream = new FileInputStream(entry.getFile());
我知道我们可以先将此文件保存在目录中,然后再读取文件,但我不想将此文件保存在目录中。
有什么方法可以在不将文件保存到某个目录的情况下读取此文件?
java - 使用 Apache Commons Compressor 进行慢速 LZ4 解压
我从第三方收到了一些经过 LZ4 帧压缩的数据。然后我需要解压缩它,我正在使用 Apache Commons Compressor。代码如下:
这直接来自教程,但是速度很慢,数据大小为:
解压后的 14411185 字节到 31961088 字节
速度是:
解压耗时 7295 毫秒
这给了我 (14411185*8) / (7295/1000) = 15,803,904 (15.8MB/秒) 的解压速度。这是在 JDK15 64 位、Win10 i7 8 核、32Gb 内存上运行的
LZ4 的引用速度为 4530 MB/s(参考 ZStandard 的网页)。这意味着我使用 apache commons 压缩器要慢 300 倍。有没有人见过这么差的速度?
注意我已经尝试过预热 apache commons 压缩器,但没有任何改变。
谢谢。
问候,
尼尔
inputstream - 从java中的tar存档随机文件访问
java - 如何从java中的tar存档进行随机文件访问?使用 apache-commons-compress tarArchiveInputStream 没有方法可以根据其 tarArchiveEntry 名称获取特定文件。对于文件对象(bytes[])的每个查询,每次都需要遍历整个 tar 文件。在这种情况下,如何使用 tar 档案进行高效编程?
java - 如何将 TarArchiveOutputStream 转换为字节数组而不保存到文件系统中
我有一个 tar.gz 文件的字节数组表示。添加新的配置文件后,我想获取新的 tar.gz 文件的字节数组表示。我想完全在代码本身中执行此操作,而不向本地磁盘创建任何文件。
下面是我在java中的代码
如何将 tarOutputStream 转换为字节数组?
java - Apache Commons Compress:ZipArchiveEntry.getUnixMode() 始终返回 0
在分析结果文件时,该值被正确写入,所以setUnixMode()
可能工作正常,但getUnixMode()
总是返回 0。有没有人有这方面的经验?
java - java.io.IOException:使用来自 Apache Commons 的 BZip2CompressorInputStream 时流意外结束
在这段代码中,我采用了一个压缩的字节数组,使用 bZip2 压缩,然后尝试解压缩它。
字节数组compressedBytes 中有部分文件。(高达 2 kB 的 BUFFER_SIZE,实际文件为 25 kB)。
我只需要解压缩部分文件,因为文件可能很大。我不明白,为什么我得到Unexpected end of stream
错误。我有类似的 GZip 代码可以正常工作。
spring-boot - 这个以 gav:// 开头的包源是什么以及如何从这个源升级包?
在我构建的一个 docker 映像中遇到了以下人工制品。那么,想知道这个包源 ( gav://
) 是什么以及如何升级它?
gav://org.apache.commons:commons-compress:1.19
java - 解压缩 7z 保护文件
如何在 Java 中解压缩受密码保护的 7zip 文件?我找到了一种方法,但它不支持受密码保护的文件。这里是