使用JDK自带的方法进行文件解压

在上一篇文章中讲到了如何使用JDK自带的方法进行文件压缩,有了压缩自然也会有解压。同样的,网上很多方法都是使用了第三方的jar包来进行文件解压,本着能简单就简单的原则,如果能用JDK自带的方法进行解压文件岂不是更好?在这里我贴一下文件解压代码。希望能帮助有需要的小伙伴。。。

/***
   * 解压zip文件
     * @param srcPath  zip文件地址
     * @param destPath  解压后存放的地址
     * @param includeZipFileName  是否包含zip文件名
     */
    public static void unZip(String srcPath ,String destPath,boolean includeZipFileName){
       try {  
           ZipInputStream Zin=new ZipInputStream(new FileInputStream(  
                srcPath));
           BufferedInputStream Bin=new BufferedInputStream(Zin);  
           if(includeZipFileName){
            String zipFileName = srcPath.substring(srcPath.lastIndexOf(File.separator));
                        zipFileName = zipFileName.substring(0, zipFileName.indexOf("."));
       destPath += zipFileName;
        }
        File Fout=null;  
        ZipEntry entry;  
        try {  
            while((entry = Zin.getNextEntry())!=null){  
                if(entry.isDirectory())continue; 
                Fout=new File(destPath,entry.getName());  
                if(!Fout.exists()){  
                    (new File(Fout.getParent())).mkdirs();  
                }  
                FileOutputStream out=new FileOutputStream(Fout);  
                BufferedOutputStream Bout=new BufferedOutputStream(out);  
                int b;  
                while((b=Bin.read())!=-1){  
                    Bout.write(b);  
                }  
                Bout.close();  
                out.close();      
            }  
            Bin.close();  
            Zin.close();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
      } catch (FileNotFoundException e) {  
           e.printStackTrace();  
       }  
    }

使用方法也很简单的。。

unZip("E:\\filecopy\\appwww.zip","E:\\filecopy",false);

注意传入文件名的路径一定要是 “\\” 不然会出错的。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值