精华内容
下载资源
问答
  • 分析问题:       ...因此每次遇到中文的时候,都会变成乱码; 解决方案:        采用org.apache.tools.zip.ZipOutputStr...

    分析问题:

           原先使用的是java.util.ZipOutputStream,而在这个类中,没有设置编码的方法;因此每次遇到中文的时候,都会变成乱码;

    解决方案:

           采用org.apache.tools.zip.ZipOutputStream类中的setEncoding()方法;需引入ant-1.7.1.jar
    jar包下载:https://download.csdn.net/download/su1573/12106896

    代码示例:

    //压缩包的绝对路径,文件的绝对路径,压缩后的一级文件夹的名字
        public boolean zipFiles()
        {
             ZipOutputStream tZipOutputStream=null;
             try
             {
                 tZipOutputStream = new ZipOutputStream(new FileOutputStream(OutName));
                 //注意此处编码设置  支持中文  
                 tZipOutputStream.setEncoding("GBK");
                 BaseName = BaseName.length() == 0 ? "" : BaseName + "/";
                 for(int i=0;i<FileName.length;i++)
                 {
                     File in = null;
                     if("contract".equals(Operator[i])){
                         zip(tZipOutputStream,FileName[i],BaseName+FileOldName[i]);
                     }else{
                         in=new File(FileName[i]);
                         zip(tZipOutputStream,in,BaseName+FileOldName[i]);
                     }
                 }
                 tZipOutputStream.close();
             }
             catch(Exception ex)
             {
                 log.debug(ex.toString());
                 try
                 {
                     tZipOutputStream.close();
                 }
                 catch(Exception e)
                 {
                     log.debug(e.toString());
                 }
                 return false;
             }
             return true;
        }
    
    展开全文
  • 1、报错原因使用java.util.zip包进行压缩文件时,压缩包内的文件的文件名乱码,以下是部分代码//导入的包import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream; //生成压缩包,将文件写入到压缩包 ...
    1、报错原因

    使用java.util.zip包进行压缩文件时,压缩包内的文件的文件名乱码,以下是部分代码

    //导入的包

    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;
           //生成压缩包,将文件写入到压缩包
        	int len;  
            byte[] buf = new byte[2048];
            OutputStream oStream = new FileOutputStream(zipFile);
            ZipOutputStream zipOut = new ZipOutputStream(oStream);
            for (int i = 0; i < srcFile.length; i++) {  
                FileInputStream in = new FileInputStream(srcFile[i]);
                zipOut.putNextEntry(new ZipEntry(srcFile[i].getName())); 
                logger.info("压缩里的文件的文件名="+srcFile[i].getName());
                while ((len = in.read(buf)) > 0) {  
                	zipOut.write(buf, 0, len);  
                }  
                zipOut.closeEntry();  
                in.close();  
            }
            zipOut.close();
    2、现象

    3、解决办法

    将java.util.zip包改成import org.apache.tools.zip包。maven导入:

    <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>1.9.4</version>
    </dependency>

    //导入的包

    import org.apache.tools.zip.ZipEntry;
    import org.apache.tools.zip.ZipOutputStream;

    代码添加编码格式:zipOut.setEncoding("GBK");

            int len;  
            byte[] buf = new byte[2048];
            OutputStream oStream = new FileOutputStream(zipFile);
            ZipOutputStream zipOut = new ZipOutputStream(oStream);  
            for (int i = 0; i < srcFile.length; i++) {  
                FileInputStream in = new FileInputStream(srcFile[i]);
                zipOut.putNextEntry(new ZipEntry(srcFile[i].getName())); 
                // 支持中文  
                zipOut.setEncoding("GBK");  
                logger.info("压缩里的文件的文件名="+srcFile[i].getName());
                while ((len = in.read(buf)) > 0) {  
                	zipOut.write(buf, 0, len);  
                }  
                zipOut.closeEntry();  
                in.close();  
            }
            zipOut.close();


    展开全文
  • javaweb下载zip压缩包文件的时候,内部的文件名乱码的问题 在正式系统和预生产系统中没有出现该问题。 但是做了一些修改之后,就出现了该问题。 需要进一步核查原因,以及如何解决。 使得本地,测试系统,预生产,...

    javaweb下载zip压缩包文件的时候,内部的文件名乱码的问题

    在正式系统和预生产系统中没有出现该问题。

    但是做了一些修改之后,就出现了该问题。

    需要进一步核查原因,以及如何解决。

    使得本地,测试系统,预生产,正式系统都没有问题

    展开全文
  • 1.文件名乱码 2.文件内容乱码 文件内容乱码可能是由于用...3.压缩包内文件名乱码 这里使用的ZipEntry和ZipOutputStream是java.util.zip包下面的,不是网上建议的org.apache.tools.zip包下面的。 ...

    1.文件名乱码
    在这里插入图片描述
    2.文件内容乱码
    文件内容乱码可能是由于用ServletOutputStream接收了response返回的输出流。
    在这里插入图片描述
    3.压缩包内的文件名乱码

    在这里插入图片描述
    这里使用的ZipEntry和ZipOutputStream是java.util.zip包下面的,不是网上建议的org.apache.tools.zip包下面的。

    展开全文
  • 解决压缩包内乱码问题

    万次阅读 2014-11-06 10:45:08
    问题: 用好压打开同事给发的压缩包后,打开查看和解压的文件夹里面...2.使用不同压缩软件压缩的,比如你打开的这个压缩包是winrar压缩的,用好压打开就会文件名乱码 解决: 用好压软件打开压缩包,在“选项
  • unzip 解压中文文件名乱码解决办法

    千次阅读 2012-09-13 16:46:55
    使用info-zip.org 的 unzip类 解压zip压缩包,如果压缩包中有中文文件名,那么解压这些文件出来时文件名乱码的。 调试发现问题出现在MultiByteToWideChar方法里, 如 MultiByteToWideChar(CP_ACP,0,fn,-1,tfn,...
  • 爬虫的时候由于很多打包下载zip的文件,而zip压缩包内的文件却是中文的,导致解压出来的文件是乱码的情况。解压后的文件名大概是这个样子的╩Θ╔·╧└.txt 正常编码是 书生侠.txt 。而这其实并不是因为文件编码...
  • MacZip (原 eZip) 是一款支持压缩包内文件预览的全能型 Mac 解压缩应用。支持 rar, zip, 7z, tar, gz, bz2, iso, xz, lzma, apk, lz4 等超过 20 种常见压缩格式。完美处理加密解密、中文乱码等问题!批量文件加密,...
  • 因为压缩包内的文件需要用到中文命名,如果用jdk自带的zip Jar包没法实现,如果以中文命名会直接不显示,因此采用了 commons.compress.jar。 public static Boolean generateZip(List&lt;Map&lt;String...
  • java打包有两种方式,一种是使用JDK自带的类(java.util.zip.ZipOutputStream;java.util.zip.ZipEntry)。 还有一种是使用apache提供的类 ...压缩包内的文件乱码解决办法:JDK自带的压缩类不提供设置编码的
  • 症状: 使用unzip解压缩在ms windows平台上用winzip压缩的zip文件,如果其中含有中文文件名,结果会出现乱码,而且用convmv转换文件名编码方式也无法解决问题。 分析: 参考这篇文章 让Unzip正确解压其中包含中文...
  • 创建和解压压缩包

    2020-05-09 09:48:22
    #文件名含有中文会出现乱码 处理压缩包内的中文 with zipfile.ZipFile(‘压缩包.zip’,‘r’) as zip2: for file_name in zip2.namelist(): print(file_name.encode(‘cp437’).decode(‘gbk’)) 读取压缩包内文件...
  • 解决ZipOutputStream压缩包内中文文件名乱码的问题,setEncoding("GBK")
  • 在linux生产环境中,使用PHP的zip扩展ZipArchive类对多个文件进行压缩处理,出现了乱码的问题(压缩包内文件名乱码,文件内容是正常的)。软件环境: 操作系统centos6.X($LANG为en_US.UTF-8...
  • Linux下使用unzip解压缩中文乱码问题

    万次阅读 2015-04-01 15:07:45
    问题提出使用info-zip.org 的 unzip类 解压zip压缩包,如果压缩包中有中文文件名,那么解压这些文件出来时文件名乱码的。 分析:参考这篇文章 让Unzip正确解压其中包含中文文件名的Winzip压缩包 ,原因是unzip...
  • 文件压缩的jar包使用ant的jar,一开始用的jdk本身的jar,但是出现了在本地测试没有问题,但是在客户服务器(windowsServers 2008)上出现压缩后的压缩包内的中文文件名乱码问题。经过网上查询并且测试,发现引用ant ...
  • 近来需要对着教程敲代码,但是之前在Windows上的压缩包在Linux解压后发生了乱码,主要是文件内乱码文件名还是正常的。搜索“Linux rar解压乱码“试了一圈也没解决。不过到是发现了winrar 的Linux 命令行版本。  ...
  • <div><p>【win10 64】我上传了一个大于100MB的.exe自解压...软件自动上传附的TXT文件文件名和文件内容也都是乱码。求解决,阿里嘎多</p><p>该提问来源于开源项目:zaxtyson/LanZouCloud-CMD</p></div>
  • 但我碰到的一个问题比较烧脑,因为压缩包内文件名并不是我所需要的, **所以需要对从ZIP压缩包中解压出来的文件,用压缩包的名字进行重命名,而不是简单的对解压出来的文件名进行转译** 研究了一整天都没...
  • 最近在做一个在线编报系统,在批量下载时遇到一个诡异的问题:本地测试正常,某些客户端访问时下载的压缩文件不是压缩文件...(我们的客户需求是压缩包内文件名应是中文名)   后来我们就通过修改struts.xml...
  • 3、oebps目录(可以是别的名字,但建议用这个名字),包含了: image子目录(不一定总有)存放了所有的图片文件 content.opf 文件名可以是其它的,扩展名一定是opf,就是一个xml格式的包的文件列表 toc.ncx 又说...
  • 请仔细阅读压缩包内 ReadMe.txt 说明文件。 (-- 历代新版更新 --) 解决了 2.0 中 vu 运行太长时间而没有停止的问题 解决了 2.0 中在指定了无效的程序时 vu 没有给出提示的问题 解决了 2.1 中直接将 exe 拖动到 vu ...
  • 修复压缩包内轮播图片总是从第一张开始的问题 2018年01月12日 : 新增多图片同时预览 支持压缩包内图片轮番预览 2018年01月02日 : 修复txt等文本编码问题导致预览乱码 修复项目模块依赖引入不到的问题 新增...
  • Java经典编程300例(code)

    千次下载 热门讨论 2013-01-09 10:26:53
    实例163 解决压缩包中文乱码 227 实例164 Apache实现文件解压缩 228 实例165 把窗体压缩成ZIP文件 229 实例166 解压缩Java对象 230 实例167 文件压缩为RAR文档 231 实例168 解压缩RAR压缩包 233 实例169 为RAR压缩包...
  • (注意,UCDOS目录必须在光盘、硬盘、U盘的根目录下,否则运行起来会有问题,CCED和WPS运行前必须启动UCDOS或TW,否则显示的都是乱码。)VC-Volkov Commander 4.99.08,DOS下支持中文长文件名的文件管理器,具有...
  • 实例292 处理jspSmartUpload组件下载文件名乱码问题 第12章 文件的批量管理 12.1 文件的批量操作 实例293 文件批量重命名 实例294 快速批量移动文件 实例295 删除指定磁盘所有.tmp临时文件 实例296 动态加载...
  • 实例292 处理jspSmartUpload组件下载文件名乱码问题 第12章 文件的批量管理 12.1 文件的批量操作 实例293 文件批量重命名 实例294 快速批量移动文件 实例295 删除指定磁盘所有.tmp临时文件 实例296 动态加载...
  • 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位码的转换 第5章 面向对象技术应用 5.1 ...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

压缩包内文件名乱码