java - 用Java解压压缩的ubuntu lz4文件

标签 java ubuntu compression apt lz4

我从 Dockerfile 构建镜像:

FROM ubuntu
RUN apt-get update

然后将图像保存到我的本地计算机,我得到了这个文件,例如:

archive.ubuntu.com_ubuntu_dists_bionic_restricted_binary-amd64_Packages.lz4

我正在尝试在 Java lz4-java 中解压 ubuntu bionic lz4 文件:

 LZ4Factory factory = LZ4Factory.fastestInstance();
 byte[] encoded = Files.readAllBytes(Paths.get("<Path to file>"));
 final int compressedLength = data.length;
            LZ4Compressor compressor = factory.fastCompressor();
            byte[] restored = new byte[compressedLength];
            LZ4SafeDecompressor decompressor2 = factory.safeDecompressor();
            decompressor2.decompress(data, 0, compressedLength, restored, 0);

我使用这个依赖项:

    <dependency>
        <groupId>org.lz4</groupId>
        <artifactId>lz4-java</artifactId>
        <version>1.5.1</version>
    </dependency>

但我仍然遇到这个异常:

Exception in thread "main" net.jpountz.lz4.LZ4Exception: Error decoding offset 4 of input buffer
    at net.jpountz.lz4.LZ4JNISafeDecompressor.decompress(LZ4JNISafeDecompressor.java:38)
    at net.jpountz.lz4.LZ4SafeDecompressor.decompress(LZ4SafeDecompressor.java:74)
    at org.whitesource.fs.Main.main(Main.java:89)

最佳答案

假设您的存档使用官方 LZ4 帧格式, 您可能更喜欢 this LZ4 Java version支持LZ4帧格式。

关于java - 用Java解压压缩的ubuntu lz4文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55047763/

相关文章:

javascript - 使用 PowerShell 自动压缩 JavaScript

java - 为什么我从 gif 文件转换的 jpg 文件不清晰?

java - FluentWait 类型不是通用的;无法通过 Selenium 和 Java 使用 FluentWait 类的参数 <WebDriver> 错误进行参数化

linux - 如何在 curl 命令中提示输入用户名和密码?

Git 存储库压缩后比未压缩更大

linux - SystemD : Package systemd-sysv is not available, 但被另一个包引用

linux - Debian:更新软件包时/var/lib/<package> 会发生什么?

java - 迭代由 MySQL 表填充的数组

java - Scala 图像压缩和优化

java - 在多个 Tomcat 实例上共享 Hibernate