Apache Commons Compress 1.9 发布
第29期OSC源创会#南京#开始报名,AngularJS、Netty 等
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();
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);}