Apache Commons Compress 1.19 发布

2019-08-29    来源:OSCHINA

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

Apache Commons Compress 1.19 发布了,这主要是一个 bug 修复版本。

新特性

  • 现在可以在使用 ZipFile 时跳过对本地文件头的解析,这可能会加速读取存档,但代价是可能会丢失重要信息
  • TarArchiveInputStream 有一个新的构造函数 arg lenient,可用于接受某些遭到破坏的存档
  • ArjArchiveEntry 和 SevenZArchiveEntry 现在实现 hashCode 和 equals
  • 添加了一个 MultiReadOnlySeekableByteChannel 类,可用于连接多卷 7z 存档的各个部分,以便 SevenZFile 可以读取它们

Bug 修复

  • ZipArchiveInputStream 可能会忘记在某些情况下压缩级别已更改
  • 修复了 ParallelScatterZipCreator#writeTo 中另一个潜在的资源泄漏问题
  • 对于某些格式错误的 LZ4 或 Snappy 输入,抛出 IOException 而不是 RuntimeExceptions
  • 如果数据描述符未使用 InfoZIP 发明的签名,ZipArchiveInputStream 无法使用数据描述符读取存储的条目

更多详情可查看发布公告。

下载地址:https://commons.apache.org/proper/commons-compress/download_compress.cgi

Commons Compress 用以实现将文件压缩或解压成 tar、zip、bzip2 等格式。

下面代码将文件压缩成 zip 格式:

ArArchiveEntry entry = new ArArchiveEntry(name, size);
arOutput.putArchiveEntry(entry);
arOutput.write(contentOfEntry);
arOutput.closeArchiveEntry();

Zip 文件的解压缩:

ArArchiveEntry entry = (ArArchiveEntry) arInput.getNextEntry();
byte[] content = new byte[entry.getSize()];
LOOP UNTIL entry.getSize() HAS BEEN READ {
    arInput.read(content, offset, content.length - offset);
}

标签: [db:TAGG]

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:BeetlSQL 2.12.11 发布,Java Dao 工具

下一篇:SQLAlchemy 1.3.8 发布,Python ORM 框架