基於7-zip的java壓縮和解壓縮工具

基於7-zip的java壓縮和解壓縮工具

鏈接

Github Gitee 博客

介紹

使用commons-exec調用7-zip命令,實現壓縮和解壓縮功能,目前支持windows和linux。

解壓縮支持大部分主流格式,壓縮僅支持7z、zip和tar。

當前linux平臺的p7zip最新版本爲16.02,windows的7-zip最新版本爲19.00,
爲了保持版本號最新且一致,linux使用16.02,windows使用16.04。

如何使用

  • maven座標
<dependency>
    <groupId>com.xzixi.utils</groupId>
    <artifactId>archive-tools</artifactId>
    <version>1.1.1</version>
</dependency>
  • 主要方法
public class ArchiveTools {

    /**
     * 壓縮
     *
     * @param archiveName 壓縮包絕對路徑,不需要包含擴展名
     * @param archiveType 壓縮格式
     * @param fileNames   壓縮文件,支持通配符
     * @param timeout     超時時間,毫秒,必須大於0
     * @param options     7z命令的其他可選參數
     * @return            壓縮包絕對路徑
     */
    public static String compress(String archiveName,
                                  ArchiveType archiveType,
                                  Collection<String> fileNames,
                                  long timeout,
                                  String... options);

    /**
     * 解壓縮
     *
     * @param archiveName 壓縮包絕對路徑
     * @param outputDir   解壓輸出路徑
     * @param timeout     超時時間,毫秒,必須大於0
     * @param options     7z命令的其他可選參數
     * @return            文件列表絕對路徑
     */
    public static Collection<String> decompress(String archiveName,
                                                String outputDir,
                                                long timeout,
                                                String... options);

}
發佈了29 篇原創文章 · 獲贊 19 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章