这篇文章演示了Groovy脚本,用于解压缩7-Zip存档格式的文件。 这篇文章的两个主要目的是演示使用Groovy解压缩7-Zip文件和方便的7-Zip-JBinding ,并说明并演示Groovy作为脚本语言的一些关键特性。
7-Zip页面将7-Zip描述为“具有高压缩率的文件存档器”。 该页面还添加了“ 7-Zip是开源软件。 大多数源代码均已获得GNU LGPL许可。” 该站点上提供了更多许可信息以及7z格式的信息 (“ LZMA是默认的7z格式的通用压缩方法”)。
7-Zip页面将其描述为“ 7-Zip C ++库的Java包装程序”,“允许使用非常快速的本机库直接通过JNI从Java中提取许多存档格式。” 7z格式基于“ LZMA和LZMA2压缩”。 尽管有可用的LZMA SDK ,但是在使用Java处理7-Zip文件时,使用开源( SourceForge ) 7-Zip-JBinding项目更加容易。
StackOverflow线程在Java中以.7z扩展名解压缩文件中提供了一个将Java与7-Zip-JBinding一起使用来解压缩7z文件的好例子。 Dark Knight的响应指示如何将Java与7-Zip-JBinding一起使用来解压缩7z文件。 在本文中,我将Dark Knight的Java代码改编为Groovy脚本。
为了演示适用于解压缩7z文件的Groovy代码,我首先需要一个可以提取内容的7z文件。 下一个屏幕快照系列向我展示了如何使用笔记本电脑上安装的Windows 7-Zip将Guava Downloads页面下的六个PDF压缩为一个名为Guava.7z
的单个7z文件。