java实现对rar文件和zip文件的解压缩

java实现对rar文件和zip文件的解压缩

一.对zip文件的解压缩

1.1 使用ZIP4J实现

zip4j官方说明:

  • Create, Add, Extract, Update, Remove files from a Zip file
    针对ZIP压缩文件创建、添加、抽出、更新和移除文件
  • Read/Write password protected Zip files
    (读写有密码保护的Zip文件)
  • Supports AES 128/256 Encryption
    (支持AES 128/256算法加密)
  • Supports Standard Zip Encryption
    (支持标准Zip算法加密)
  • Supports Zip64 format
    (支持zip64格式)
  • Supports Store (No Compression) and Deflate compression method
    (支持Store(非压缩)Deflate压缩方法---不太明白)
  • Create or extract files from Split Zip files (Ex: z01, z02,...zip)
    (针对分块zip文件创建和抽出文件)
  • Supports Unicode file names
    (支持Unicode编码文件名)
  • Progress Monitor
    (进度监控)

   从以上的主要特性可以看出,zip4j的功能是非常强大的,完全可以利用其写个类似于好压的zip文件管理软件。

使用注意点:

zip4j默认采用UTF-8编码,所以它支持中文,同时也支持密码,而且支持多种压缩算法,可以说功能强大,但使用起来却非常简单,当然,如果需求比较复杂,那就得好好去研究了。如果你仅仅是简单地解压一个zip压缩文件,那么只需要简单地几步即可:

1. maven工程中加入依赖:

 

   <dependency>

       <groupId>net.lingala.zip4j</groupId>

       <artifactId>zip4j</artifactId>

       <version>1.3.2</version>

   </dependency>

2.新建类UnZip.java:

package com.test;

 

import java.io.File; 

import java.io.IOException; 

import java.util.ArrayList;

import java.util.List;

import net.lingala.zip4j.core.ZipFile;

import net.lingala.zip4j.exception.ZipException;

import net.lingala.zip4j.model.FileHeader;

 

 

public classUnZip {

  

   public static void main(String[] args) throws IOException{

     

      Stringsource="C:\\ygcl.zip";

      Stringdest="C:\\ygcl";

      Stringpassword="password";

      try {

         FilezipFile=new File(source);

            ZipFile zFile = new ZipFile(zipFile);  // 首先创建ZipFile指向磁盘上的.zip文件   

            zFile.setFileNameCharset("GBK");

              File destDir = new File(dest);     // 解压目录

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值