Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🔥 🔥 Android端zip压缩与解压,支持使用密码对单文件多文件文件夹进行压缩以及解压操作

License

Notifications You must be signed in to change notification settings

Leo0618/AndroidZip

Repository files navigation

AndroidZip

Android端zip压缩与解压,目前暂时只做zip格式支持,基于Zip4j (http://www.lingala.net/zip4j/)进行扩展成工具类,支持对单个文件,多个文件以及文件夹进行压缩,对压缩文件解压到到指定目录,支持压缩解压使用密码。 详见使用案例:MainActivity.java


使用说明:

  • 依赖

     compile 'com.leo618:zip:0.0.1'
    
  • 选择开启或者关闭日志打印

     ZipManager.debug(BuildConfig.DEBUG);
    
  • 压缩

     /**
     * 压缩文件或者文件夹
     *
     * @param targetPath 被压缩的文件路径
     * @param destinationFilePath 压缩后生成的文件路径
     * @param callback 压缩进度回调
     */
     public static void zip(String targetPath, String destinationFilePath, IZipCallback callback)
     /**
     * 压缩文件或者文件夹
     *
     * @param targetPath 被压缩的文件路径
     * @param destinationFilePath 压缩后生成的文件路径
     * @param password 压缩加密 密码
     * @param callback 压缩进度回调
     */
     public static void zip(String targetPath, String destinationFilePath, String password, IZipCallback callback)
     
     /**
     * 压缩多个文件
     *
     * @param list 被压缩的文件集合
     * @param destinationFilePath 压缩后生成的文件路径
     * @param callback 压缩进度回调
     */
     public static void zip(ArrayList<File> list, String destinationFilePath, IZipCallback callback)
     /**
     * 压缩多个文件
     *
     * @param list 被压缩的文件集合
     * @param destinationFilePath 压缩后生成的文件路径
     * @param password 压缩 密码
     * @param callback 回调
     */
     public static void zip(ArrayList<File> list, String destinationFilePath, String password, final IZipCallback callback)
    
  • 解压

     /**
     * 解压
     *
     * @param targetZipFilePath 待解压目标文件地址
     * @param destinationFolderPath 解压后文件夹地址
     * @param callback 回调
     */
     public static void unzip(String targetZipFilePath, String destinationFolderPath, IZipCallback callback)
     /**
     * 解压
     *
     * @param targetZipFilePath 待解压目标文件地址
     * @param destinationFolderPath 解压后文件夹地址
     * @param password 解压密码
     * @param callback 回调
     */
     public static void unzip(String targetZipFilePath, String destinationFolderPath, String password, final IZipCallback callback)
    
  • 回调接口

     public interface IZipCallback {
     /**
     * 开始
     */
     void onStart();
     
     /**
     * 进度回调
     *
     * @param percentDone 完成百分比
     */
     void onProgress(int percentDone);
     
     /**
     * 完成
     *
     * @param success 是否成功
     */
     void onFinish(boolean success);
     }
    
  • 混淆

     -dontwarn com.leo618.zip.**
     -dontwarn net.lingala.zip4j.**
     -keep class com.leo618.zip.** { *; }
     -keep class net.lingala.zip4j.** { *; }
    

About

🔥 🔥 Android端zip压缩与解压,支持使用密码对单文件多文件文件夹进行压缩以及解压操作

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /