Java自动解压文件实例代码

2016-02-19 10:12 5 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享Java自动解压文件实例代码,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - 编程语言 】

代码如下:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

public class UnZipper {

    /**
     * 解压文件到当前目录 功能相当于右键 选择解压
     * @param zipFile
     * @param
     * @author gabriel
     */
    @SuppressWarnings("rawtypes")
    public static void unZipFiles(File zipFile)throws IOException{
        //得到压缩文件所在目录
        String path=zipFile.getAbsolutePath();
        path=path.substring(0,path.lastIndexOf(""));
       // System.out.println("path "+path);
        ZipFile zip = new ZipFile(zipFile);
        for(Enumeration entries =zip.entries();
                entries.hasMoreElements();){
            ZipEntry entry = (ZipEntry)entries.nextElement();
            String zipEntryName = entry.getName();
            InputStream in = zip.getInputStream(entry);
            //outPath输出目录
            String outPath = (path+""+zipEntryName).replaceAll("*", "/");;
            //System.out.println("outPath "+outPath);
            //判断路径是否存在,不存在则创建文件路径
            File file = new File(outPath.substring(0, outPath.lastIndexOf('/')));
            if(!file.exists()){
                file.mkdirs();
            }
            //判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压
            if(new File(outPath).isDirectory()){
                continue;
            }
            //输出文件路径信息
            System.out.println(outPath);

            OutputStream out = new FileOutputStream(outPath);
            byte[] buf1 = new byte[1024];
            int len;
            while((len=in.read(buf1))0){
                out.write(buf1,0,len);
            }
            in.close();
            out.close();
            }
        System.out.println("******************解压完毕********************");
    }

   
    public static void main(String[] args) {
        try {
            unZipFiles(new File("D:allzipDefault.adiumemoticonset.zip"));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1593764.html

延伸阅读
以一个web项目为例,代码是可以移植的 首先要导入mail.jar包,然后创建自己的类 1:HTMLSender类 代码如下: package com.txq.mail;  import java.util.Properties;  import javax.mail.Message;  import javax.mail.MessagingException;  import javax.mail.NoSuchProviderException;  import javax.mail.Se...
代码如下: import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.event.ActionEvent; imp...
 1.打开各种系统工具            2.定时关机(重启、睡眠未实现 请参照上面两个文章自行扩展)            3.简单文件操作 代码如下: [java]  package com.cxy.f;  import java.awt.Image;  import java.aw...
学习Java的朋友应该都知道Java从刚开始的时候就打着平台无关性的旗号,说“一次编写,到处运行”,其实说到无关性,Java平台还有另外一个无关 性那就是语言无关性,要实现语言无关性,那么Java体系中的class的文件结构或者说是字节码就显得相当重要了,其实Java从刚开始的时候就有两套 规范,一个是Java语言规范,另外一个是Java虚拟机规范,Ja...
代码如下: package com.gpdi.action; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class WordsStatistics {     class Obj {         int count ;     ...

经验教程

574

收藏

72
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部