zoukankan      html  css  js  c++  java
  • Java解压文件代码(相当于你在目录中选中压缩文件 右键解压)

    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;


    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:\\all\\zip\\Default.adiumemoticonset.zip"));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

  • 相关阅读:
    [自创]mootools所有复选框只能选择一个的功能
    tomcat设置https访问
    更改tomcat运行时标题
    Java日期操作: 查找星期一和星期天
    mysql 常用数据查询
    git pull代码冲突
    antd model form数据不刷新问题
    前端开发常见面试题
    whistle 使用步骤
    windows 环境 启动报错 '.inconfig' 不是内部或外部命令,也不是可运行的程序
  • 原文地址:https://www.cnblogs.com/IamThat/p/3037002.html
Copyright © 2011-2022 走看看