java 壓縮歸檔算法開源框架工具 compress

compress

The compress algorithm tool.(常見壓縮算法工具類)java

創做背景

壓縮是很常見的一個需求,可是使用 apache 的工具類進行壓縮,須要本身處理不少事情。git

好比文件是否存在,不存在則須要建立,還要循環處理各類信息,這一點也不優雅。github

因而,就基於 apache common-compress 進行封裝,便於後期使用。算法

特性

  • 支持常見歸檔壓縮算法apache

  • fluent api 設計,優雅方便api

快速開始

環境要求

JDK1.7+maven

Maven 3.x+工具

maven 引入

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>compress</artifactId>
    <version>0.0.3</version>
</dependency>
複製代碼

入門例子

全部測試代碼,均可以在 test 模塊下找到。測試

壓縮

將 source 路徑的文件,壓縮爲 target 文件。加密

指定壓縮方式爲 ZIP。

public void compressTest() {
    String source = "C:\\Users\\binbin.hou\\Desktop\\1.txt";
    String target = "C:\\Users\\binbin.hou\\Desktop\\1.zip";

    CompressBs.newInstance(CompressTypeEnum.ZIP)
            .source(source)
            .target(target)
            .compress();
}
複製代碼

解壓縮

將 source 路徑的文件,解壓縮到 target 路徑下。

指定解壓縮方式爲 ZIP。

public void uncompressTest() {
    String source = "C:\\Users\\binbin.hou\\Desktop\\1.zip";
    String target = "C:\\Users\\binbin.hou\\Desktop\\";

    CompressBs.newInstance(CompressTypeEnum.ZIP)
            .source(source)
            .target(target)
            .uncompress();
}
複製代碼

支持的壓縮算法

參見 CompressTypeEnum 枚舉類。

目前支持以下幾種:

public enum CompressTypeEnum {

    /** * 歸檔系列 */
    JAR,

    /** * 7z 壓縮方式 */
    SEVENZ,

    /** * zip 壓縮方式 */
    ZIP,

    /** * tar 壓縮方式 */
    TAR,
    ;

}
複製代碼

配置測試

CompressBs 引導類還支持更加豐富的屬性配置。

使用起來也很是簡單方便,以下:

public void configTest() {
    // 指定加密策略
    CompressBs.newInstance(CompressTypeEnum.ZIP)
            // 指定源文件
            .source("")
            // 指定目標文件(夾)
            .target("")
            // 指定密碼,默認無。
            .password("")
            // 是否使用相對路徑進行處理
            .relativePath(false)
            // 指定解壓或者壓縮
            .compress();
}
複製代碼

開源地址

上述工具開源地址見 compress

相關文章
相關標籤/搜索