本文用程序解决的的,有兴趣可以看一看,limux有解决中文乱码问题,,请去其他博客。

方法一:使用java

importjava.io.File;importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.InputStream;

importjava.util.Enumeration;importorg.apache.tools.zip.ZipEntry;

importorg.apache.tools.zip.ZipFile;

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

//1.找到目录下需要解压的文件 String fileAddress = "××××××";//压缩文件的源位置 String unZipAddress = "××××××";//解压文件的目的位置 File file = new File(fileAddress);

ZipFile zipFile = null;

try {

zipFile = new ZipFile(file,"GBK");//设置编码格式 } catch (IOException exception) {

exception.printStackTrace();

System.out.println("解压文件不存在!");

}//2.对文件处理 Iterator e = (Iterator)zipFile.getEntries();//迭代处理压缩文件里面的文件 while(e.hasNext()) {

ZipEntry zipEntry = (ZipEntry)e.next();

if(zipEntry.isDirectory()) {//如果文件存在,按照压缩文件名字,创建压缩文件 String name = zipEntry.getName();

name = name.substring(0,name.length()-1);

File f = new File(unZipAddress + name);

f.mkdirs();

} else {//如果文件不存在,创建新的文件 File f = new File(unZipAddress + zipEntry.getName());

f.getParentFile().mkdirs();

f.createNewFile();

InputStream is = zipFile.getInputStream(zipEntry);

FileOutputStream fos = new FileOutputStream(f);

int length = 0;

byte[] b = new byte[1024];

int i=0;//解压输出到文件中,并在界面上打印进度 while((length=is.read(b, 0, 1024))!=-1) {

fos.write(b, 0, length);

i++;

System.err.print("#");//用错误输出流打印#符 }

is.close();//关闭Io流 fos.close();

}

}

//关闭文件和删除压缩包 if (zipFile != null) {

zipFile.close();

}

file.deleteOnExit();//解压完以后将压缩包删除 System.out.println("\n This file has unziped ,congraduation !!!");

}

}

方法二:python代码

import sys

import zipfileprint "Processing File " + sys.argv[1]

file=zipfile.ZipFile(sys.argv[1],"r");for name in file.namelist():

utf8name=name.decode('gbk')

print "Extracting " + utf8name

pathname = os.path.dirname(utf8name)

if not os.path.exists(pathname) and pathname!= "":

os.makedirs(pathname)

data = file.read(name)

if not os.path.exists(utf8name):

fo = open(utf8name, "w")

fo.write(data)

fo.closefile.close()

linux下mkdirs方法乱码,linux 解压zip中文乱码问题相关推荐

  1. java解压中文乱码_java解压文件中文乱码怎么处理

    上次利用java自动的java.util.zip.ZipEntry和??java.util.zip.ZipFile来解压zip文件,今天发现程序在读取解压文件时居然报了空指针异常,debug程序后发现 ...

  2. windows 解压文件出现乱码 7zip解压文件中文乱码 解决方法

    按照如下教程,更改windows默认编码格式为utf-8之后. https://blog.csdn.net/qq_43780850/article/details/129122210 解压文件时,文件 ...

  3. android zip中文乱码,Android中解压zip中文乱码处理

    乱码原因分析 一般我们使用的Windows系统外部文件默认都是GBK编码方式,Mac系统默认的好像是UTF-8(同事的电脑就是,不知道其他人的是不是),Linux的没验证过,这里我讨论的是Window ...

  4. Android中解压zip中文乱码处理

    乱码原因分析 一般我们使用的Windows系统外部文件默认都是GBK编码方式,Mac系统默认的好像是UTF-8(同事的电脑就是,不知道其他人的是不是),Linux的没验证过,这里我讨论的是Window ...

  5. linux unzip乱码,Linux 中unzip解压时中文乱码的解决办法

    Linux 中unzip解压时中文乱码的解决办法 Linux 中unzip解压时中文乱码的解决办法 当我们在linux中解压一个含有中文名字的压缩包如"资料.zip"时,如果直接使 ...

  6. linux tar.xz 解压命令,Linux下.tar.xz文件的解压教程详解

    前言 对于xz这个压缩相信很多人陌生,但xz是绝大数linux默认就带的一个压缩工具,xz格式比7z还要小. 最近在下载某个源码包的时候遇到的这种压缩格式,乘此机会分享一下xz的压缩与解压方法. 安装 ...

  7. Linux下打包压缩war、解压war包和jar命令

    环境 RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + Putty 0.62 问题 Linux下打包压缩war.解压war包和jar命令 解决 把project_a文 ...

  8. python rarfile不支持中文路径_python使用zipfile解压文件中文乱码问题

    中文在编程中真实后娘养的,各种坑爹,python3下中文乱码这个问题抓破了头皮,头疼.看了alex的文章,才有种恍然大悟的感觉(链接在底部). 一句话,就是转换成unicode,压缩前是什么编码,使用 ...

  9. 【基础操作】ubuntu解压zip文件乱码

    原文:https://www.cnblogs.com/pipci/p/10114527.html Ubuntu18.04 解压zip文件乱码的解决方法 在Ubuntu的系统下解压zip文件的时候居然出 ...

最新文章

  1. 微信小程序把玩(十一)icon组件
  2. linux 网络端口状态,Linux下用netstat查看网络状态、端口状态(转)
  3. 前端小问题1——(最近好久没有发博客。。。待续)
  4. Windows 10 下的OpenVINO Pycharm+Anaconda开发环境配置
  5. 常见算法的python实现(Github标星75.5k+)
  6. python中output使用_python-02.输入Input/输出Output
  7. mysql lepus_MySQL 监控软件lepus天兔
  8. PHP+MySQL 跨服务器跨数据库数据拷贝系统
  9. 不规则多边形填充_花一分钟看一个案例,PPT中图片填充形状的应用
  10. 面试常备题(三)----顺时针打印矩阵
  11. java swagger ui 教程_java集成Swagger的步骤详解
  12. CCF201812-1 小明上学(100分)【序列处理】
  13. fastrtext︱R语言使用facebook的fasttext快速文本分类算法
  14. 2008年希赛软考学院招生
  15. 如何查找CAD打印样式文件存储位置?
  16. java对象为什么要实现序列化
  17. 华夏相机开发/臻识相机开发/车牌识别器开发对接使用总结
  18. 英语c开头语言,C开头的英语短语集锦
  19. 西门子1500数据块移动POKE_BLK指令
  20. 微服务网关soul,这篇值得你拥有

热门文章

  1. 从旋转矩阵计算欧拉角
  2. Numpy中ndarray的常见操作
  3. 仿QQ通信(一)绘制客户端界面
  4. 白嫖计划 | Oneindex 免费网盘
  5. 基于 HTML5 WebGL 的 3D 仓储管理系统
  6. row_number函数的使用
  7. LockChain—打造区块链行业的东方财富网
  8. hadoop使用docker安装和使用(单节点适合开发环境)
  9. java自定义findbugs规则_findbugs自定义规则并配置实现检测
  10. note3 android 原版,三星note3有几个版本?有什么区别?