Apache Commons Compress 1.9 发布

jopen 10年前

Apache Commons Compress 1.9 发布,此版本现已提供下载,在没有 GZIP 的情况下支持原始压缩流;修复了 7z 和 tar 包相关的 bug;改进了对 Java 库 XZ 的检测。

更新内容如下:

新特性  o Added support for DEFLATE streams without any gzip framing.    Issue: COMPRESS-263.    Thanks to Matthias Stevens.    Bugs 修复  o When reading 7z files unknown file properties and properties of type    kDummy are now ignored.    Issue: COMPRESS-287.  o Expanding 7z archives using LZMA compression could cause an    EOFException.    Issue: COMPRESS-286.   o Long-Name and -link or PAX-header entries in TAR archives always had    the current time as last modfication time, creating archives that    are different at the byte level each time an archive was built.    Issue: COMPRESS-289.    Thanks to Bob Robertson.    改进  o Checking for XZ for Java may be expensive.  The result will now be    cached outside of an OSGi environment.  You can use the new    XZUtils#setCacheXZAvailability to overrride this default behavior.    Issue: COMPRESS-285.

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

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

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

</div>

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);  }


来自:http://www.oschina.net/news/56031/apache-commons-compress-1-9-released