Java解压zip文件完整代码分享

关于Java解压zip文件,我觉得也没啥好多说的,就是干呗。。代码如下:

package com.lanyuan.assembly.util;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
/**
 * 解压Zip文件工具类
 * @author zhangyongbo
 *
 */
public class ZipUtil
{
  private static final int buffer = 2048;
 /**
  * 解压Zip文件
  * @param path 文件目录
  */
 public static void unZip(String path)
   {
    int count = -1;
    String savepath = "";
    File file = null;
    InputStream is = null;
    FileOutputStream fos = null;
    BufferedOutputStream bos = null;
    savepath = path.substring(0, path.lastIndexOf(".")) + File.separator; //保存解压文件目录
    new File(savepath).mkdir(); //创建保存目录
    ZipFile zipFile = null;
    try
    {
      zipFile = new ZipFile(path,"gbk"); //解决中文乱码问题
      Enumeration<?> entries = zipFile.getEntries();
      while(entries.hasMoreElements())
      {
        byte buf[] = new byte[buffer];
        ZipEntry entry = (ZipEntry)entries.nextElement();
        String filename = entry.getName();
        boolean ismkdir = false;
        if(filename.lastIndexOf("/") != -1){ //检查此文件是否带有文件夹
         ismkdir = true;
        }
        filename = savepath + filename;
        if(entry.isDirectory()){ //如果是文件夹先创建
         file = new File(filename);
         file.mkdirs();
          continue;
        }
        file = new File(filename);
        if(!file.exists()){ //如果是目录先创建
         if(ismkdir){
         new File(filename.substring(0, filename.lastIndexOf("/"))).mkdirs(); //目录先创建
         }
        }
        file.createNewFile(); //创建文件
        is = zipFile.getInputStream(entry);
        fos = new FileOutputStream(file);
        bos = new BufferedOutputStream(fos, buffer);
        while((count = is.read(buf)) > -1)
        {
          bos.write(buf, 0, count);
        }
        bos.flush();
        bos.close();
        fos.close();
        is.close();
      }
      zipFile.close();
    }catch(IOException ioe){
      ioe.printStackTrace();
    }finally{
       try{
       if(bos != null){
         bos.close();
       }
       if(fos != null) {
         fos.close();
       }
       if(is != null){
         is.close();
       }
       if(zipFile != null){
         zipFile.close();
       }
       }catch(Exception e) {
         e.printStackTrace();
       }
     }
   }
/*public static void main(String[] args)
  {
    unZip("F:\\110000002.zip");
    String f = "F:\\110000002";
    File file = new File(f);
    String[] test=file.list();
    for(int i=0;i<test.length;i++){
      System.out.println(test[i]);
    }
    System.out.println("------------------");
    String fileName = "";
    File[] tempList = file.listFiles();
    for (int i = 0; i < tempList.length; i++) {
      if (tempList[i].isFile()) {
        System.out.println("文   件:"+tempList[i]);
        fileName = tempList[i].getName();
        System.out.println("文件名:"+fileName);
      }
      if (tempList[i].isDirectory()) {
        System.out.println("文件夹:"+tempList[i]);
      }
    }
  } */
}

上面是第一种的代码示例,接着是另外一种,代码如下:

import java.io.*;
import java.nio.charset.Charset;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
/**
 * Created by wzj on 2016/9/9.
 */
public class UZipFile
{
  /**
   * 解压到指定目录
   */
  public static void unZipFiles(String zipPath,String descDir)throws IOException
  {
    unZipFiles(new File(zipPath), descDir);
  }
  /**
   * 解压文件到指定目录
   */
  @SuppressWarnings("rawtypes")
  public static void unZipFiles(File zipFile,String descDir)throws IOException
  {
    File pathFile = new File(descDir);
    if(!pathFile.exists())
    {
      pathFile.mkdirs();
    }
    //解决zip文件中有中文目录或者中文文件
    ZipFile zip = new ZipFile(zipFile, Charset.forName("GBK"));
    for(Enumeration entries = zip.entries(); entries.hasMoreElements();)
    {
      ZipEntry entry = (ZipEntry)entries.nextElement();
      String zipEntryName = entry.getName();
      InputStream in = zip.getInputStream(entry);
      String outPath = (descDir+zipEntryName).replaceAll("\\*", "/");;
      //判断路径是否存在,不存在则创建文件路径
      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) throws IOException {
    /**
     * 解压文件
     */
    File zipFile = new File("d:/资料.zip");
    String path = "d:/zipfile/";
    unZipFiles(zipFile, path);
  }
}

测试结果

d:/zipfile/资料/三大框架所有题.htm
d:/zipfile/资料/三大框架所有题_files/bootstrap.css
d:/zipfile/资料/三大框架所有题_files/bootstrap.js
d:/zipfile/资料/三大框架所有题_files/css_global.css
d:/zipfile/资料/三大框架所有题_files/jquery.js
d:/zipfile/资料/三大框架所有题_files/logo.png
d:/zipfile/资料/三大框架所有题_files/scripts(1).php
d:/zipfile/资料/三大框架所有题_files/scripts(2).php
d:/zipfile/资料/三大框架所有题_files/scripts.js
d:/zipfile/资料/三大框架所有题_files/scripts.php
d:/zipfile/资料/三大框架所有题_files/transparent.gif
d:/zipfile/资料/回顾.txt
d:/zipfile/资料/源码/day29_00_struts2Interceptor/.classpath
d:/zipfile/资料/源码/day29_00_struts2Interceptor/.mymetadata
d:/zipfile/资料/源码/day29_00_struts2Interceptor/.project
d:/zipfile/资料/源码/day29_00_struts2Interceptor/.settings/.jsdtscope
d:/zipfile/资料/源码/day29_00_struts2Interceptor/.settings/com.genuitec.eclipse.j2eedt.core.prefs
d:/zipfile/资料/源码/day29_00_struts2Interceptor/.settings/org.eclipse.jdt.core.prefs
d:/zipfile/资料/源码/day29_00_struts2Interceptor/.settings/org.eclipse.wst.common.component
d:/zipfile/资料/源码/day29_00_struts2Interceptor/.settings/org.eclipse.wst.common.project.facet.core.xml
d:/zipfile/资料/源码/day29_00_struts2Interceptor/.settings/org.eclipse.wst.jsdt.ui.superType.container
d:/zipfile/资料/源码/day29_00_struts2Interceptor/.settings/org.eclipse.wst.jsdt.ui.superType.name
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/1.jsp
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/META-INF/MANIFEST.MF
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/classes/com/itheima/action/Demo1Action.class
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/classes/com/itheima/action/UserAction.class
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/classes/com/itheima/interceptors/Demo1Interceptor.class
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/classes/com/itheima/interceptors/LoginCheckInterceptor.class
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/classes/struts.xml
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/asm-3.3.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/asm-commons-3.3.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/asm-tree-3.3.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/commons-fileupload-1.3.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/commons-io-2.0.1.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/commons-lang3-3.1.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/commons-logging-1.1.3.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/freemarker-2.3.19.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/javassist-3.11.0.GA.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/log4j-1.2.17.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/ognl-3.0.6.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/struts2-core-2.3.15.3.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/lib/xwork-core-2.3.15.3.jar
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/WEB-INF/web.xml
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/index.jsp
d:/zipfile/资料/源码/day29_00_struts2Interceptor/WebRoot/login.jsp
d:/zipfile/资料/源码/day29_00_struts2Interceptor/src/com/itheima/action/Demo1Action.java
d:/zipfile/资料/源码/day29_00_struts2Interceptor/src/com/itheima/action/UserAction.java
d:/zipfile/资料/源码/day29_00_struts2Interceptor/src/com/itheima/interceptors/Demo1Interceptor.java
d:/zipfile/资料/源码/day29_00_struts2Interceptor/src/com/itheima/interceptors/LoginCheckInterceptor.java
d:/zipfile/资料/源码/day29_00_struts2Interceptor/src/struts.xml
d:/zipfile/资料/源码/day29_01_struts2Upload/.classpath
d:/zipfile/资料/源码/day29_01_struts2Upload/.mymetadata
d:/zipfile/资料/源码/day29_01_struts2Upload/.project
d:/zipfile/资料/源码/day29_01_struts2Upload/.settings/.jsdtscope
d:/zipfile/资料/源码/day29_01_struts2Upload/.settings/com.genuitec.eclipse.j2eedt.core.prefs
d:/zipfile/资料/源码/day29_01_struts2Upload/.settings/org.eclipse.jdt.core.prefs
d:/zipfile/资料/源码/day29_01_struts2Upload/.settings/org.eclipse.wst.common.component
d:/zipfile/资料/源码/day29_01_struts2Upload/.settings/org.eclipse.wst.common.project.facet.core.xml
d:/zipfile/资料/源码/day29_01_struts2Upload/.settings/org.eclipse.wst.jsdt.ui.superType.container
d:/zipfile/资料/源码/day29_01_struts2Upload/.settings/org.eclipse.wst.jsdt.ui.superType.name
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/1.jsp
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/2.jsp
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/META-INF/MANIFEST.MF
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/classes/com/itheima/action/DownloadAction.class
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/classes/com/itheima/action/Upload1Action.class
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/classes/com/itheima/action/Upload1Action_zh_CN.properties
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/classes/com/itheima/action/Upload2Action.class
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/classes/struts.xml
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/classes/美女.jpg
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/asm-3.3.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/asm-commons-3.3.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/asm-tree-3.3.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/commons-fileupload-1.3.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/commons-io-2.0.1.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/commons-lang3-3.1.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/commons-logging-1.1.3.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/freemarker-2.3.19.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/javassist-3.11.0.GA.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/log4j-1.2.17.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/ognl-3.0.6.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/struts2-core-2.3.15.3.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/lib/xwork-core-2.3.15.3.jar
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/WEB-INF/web.xml
d:/zipfile/资料/源码/day29_01_struts2Upload/WebRoot/success.jsp
d:/zipfile/资料/源码/day29_01_struts2Upload/src/com/itheima/action/DownloadAction.java
d:/zipfile/资料/源码/day29_01_struts2Upload/src/com/itheima/action/Upload1Action.java
d:/zipfile/资料/源码/day29_01_struts2Upload/src/com/itheima/action/Upload1Action_zh_CN.properties
d:/zipfile/资料/源码/day29_01_struts2Upload/src/com/itheima/action/Upload2Action.java
d:/zipfile/资料/源码/day29_01_struts2Upload/src/struts.xml
d:/zipfile/资料/源码/day29_01_struts2Upload/src/美女.jpg
d:/zipfile/资料/源码/day29_02_struts2ognl/.classpath
d:/zipfile/资料/源码/day29_02_struts2ognl/.mymetadata
d:/zipfile/资料/源码/day29_02_struts2ognl/.project
d:/zipfile/资料/源码/day29_02_struts2ognl/.settings/.jsdtscope
d:/zipfile/资料/源码/day29_02_struts2ognl/.settings/com.genuitec.eclipse.j2eedt.core.prefs
d:/zipfile/资料/源码/day29_02_struts2ognl/.settings/org.eclipse.jdt.core.prefs
d:/zipfile/资料/源码/day29_02_struts2ognl/.settings/org.eclipse.wst.common.component
d:/zipfile/资料/源码/day29_02_struts2ognl/.settings/org.eclipse.wst.common.project.facet.core.xml
d:/zipfile/资料/源码/day29_02_struts2ognl/.settings/org.eclipse.wst.jsdt.ui.superType.container
d:/zipfile/资料/源码/day29_02_struts2ognl/.settings/org.eclipse.wst.jsdt.ui.superType.name
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/1.jsp
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/2.jsp
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/3.jsp
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/4.jsp
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/5.jsp
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/6.jsp
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/7.jsp
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/META-INF/MANIFEST.MF
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/classes/com/itheima/action/Demo1Action.class
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/classes/com/itheima/action/Demo2Action.class
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/classes/com/itheima/action/Demo3Action.class
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/classes/com/itheima/domain/User.class
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/classes/struts.xml
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/asm-3.3.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/asm-commons-3.3.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/asm-tree-3.3.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/commons-fileupload-1.3.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/commons-io-2.0.1.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/commons-lang3-3.1.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/commons-logging-1.1.3.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/freemarker-2.3.19.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/javassist-3.11.0.GA.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/log4j-1.2.17.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/ognl-3.0.6.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/struts2-core-2.3.15.3.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/lib/xwork-core-2.3.15.3.jar
d:/zipfile/资料/源码/day29_02_struts2ognl/WebRoot/WEB-INF/web.xml
d:/zipfile/资料/源码/day29_02_struts2ognl/src/com/itheima/action/Demo1Action.java
d:/zipfile/资料/源码/day29_02_struts2ognl/src/com/itheima/action/Demo2Action.java
d:/zipfile/资料/源码/day29_02_struts2ognl/src/com/itheima/action/Demo3Action.java
d:/zipfile/资料/源码/day29_02_struts2ognl/src/com/itheima/domain/User.java
d:/zipfile/资料/源码/day29_02_struts2ognl/src/struts.xml
d:/zipfile/资料/课堂笔记.doc
******************解压完毕********************

总结

以上就是Java解压zip文件完整代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Java编程接口调用的作用及代码分享、java并发学习之BlockingQueue实现生产者消费者详解、浅谈java中字符串数组、字符串、整形之间的转换等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!

(0)

相关推荐

  • Java解压zip文件的关键代码

    废话不多说了,给大家贴关键代码了,具体代码如下所示: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; import o

  • java解压zip文件示例

    若是使用Java自带的压缩工具包来实现解压缩文件到指定文件夹的功能,因为jdk提供的zip只能按UTF-8格式处理,而Windows系统中文件名是以GBK方式编码的,所以如果是解压一个包含中文文件名的zip包,会报非法参数异常,所以要实现解压缩,就得对DeflaterOutputStream.java.InflaterInputStream.java.ZipConstants.java.ZipEntry.java.ZipInputStream.java以及ZipOutputStream.java

  • Java解压zip文件完整代码分享

    关于Java解压zip文件,我觉得也没啥好多说的,就是干呗..代码如下: package com.lanyuan.assembly.util; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; i

  • Android中实现下载和解压zip文件功能代码分享

    本文提供了2段Android代码,实现了从Android客户端下载ZIP文件并且实现ZIP文件的解压功能,非常实用,有需要的Android开发者可以尝试一下. 下载: DownLoaderTask.java 复制代码 代码如下: package com.johnny.testzipanddownload; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; im

  • JavaScript 如何在线解压 ZIP 文件

    一.ZIP 格式简介 ZIP 文件格式是一种数据压缩和文档储存的文件格式,原名 Deflate,发明者为菲尔·卡茨(Phil Katz),他于 1989 年 1 月公布了该格式的资料.ZIP 通常使用后缀名 ".zip",它的 MIME 格式为 "application/zip".目前,ZIP 格式属于几种主流的压缩格式之一,其竞争者包括RAR 格式以及开放源码的 7z 格式. ZIP 是一种相当简单的分别压缩每个文件的存档格式,分别压缩文件允许不必读取另外的数据而

  • php在线解压ZIP文件的方法

    本文实例讲述了php在线解压ZIP文件的方法.分享给大家供大家参考.具体分析如下: 在PHP的函数库中只找到了个ZLIB的函数还跟压缩有点关系,但是使我失望的是他没能解ZIP的文件,但最后还是让我找到了解决的方法,就是通过PHP的程序执行函数来实现这个功能,因为现在能解ZIP文件的东西实在是太多啦,你要是不信,可以到有下载软件的地方找找看,保准你不会失望的,我的话不会错的. 下面就是该程序的原文件,upload.php代码如下: 复制代码 代码如下: <table border="0&qu

  • 解决python3中解压zip文件是文件名乱码的问题

    在zip标准中,对文件名的 encoding 用的不是 unicode,而可能是各种软件根据系统的默认字符集来采用(此为猜测),因此zipfile中根据文件 flag 检测的时候,只支持 cp437 和 utf-8. 具体就是查找 zipfile.py 源代码找到下面的代码: 1: if flags & 0x800: 2: # UTF-8 file names extension 3: filename = filename.decode('utf-8') 4: else: 5: # Histo

  • PHP解压ZIP文件到指定文件夹的方法

    本文实例讲述了PHP解压ZIP文件到指定文件夹的方法.分享给大家供大家参考,具体如下: /** * function: 解压zip 格式的文件 * author:friker * date:2015-15-14 * reference:http://php.net/manual/zh/ref.zip.php * all rights reserved:wujiangwei123@126.com */ class Unzip{ public function __construct(){ //in

  • python批量解压zip文件的方法

    这是一个用python写解压大量zip脚本的说明,本人新手一个,希望能对各位有所启发. 首先要注意的,在运行自己的脚本之前一定先备份或者复制出一些样本进行测试,不然出错会很麻烦: 之后我用到的是解压zip文件的扩展包zipfile,可以直接pip安装或者在IDE里安装,需要特别注意的是这个包的文件名解码方式需要我们去修改,先去查看源文件,直接搜索"cp437"(一个编码方式),找到后全部替换为"gbk",即可解决中文显示问题. 代码: import os impor

  • Ubuntu解压zip文件乱码的解决方法

    前言 本文介绍的是Ubuntu解压zip文件乱码的解决方法,共有2种方式解决问题,下面话不多说,来一起看看吧 一.通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明. 二.在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件 /etc/environment中加入2行 UNZIP="-O CP936&quo

随机推荐