压缩文件为zip包导致的中文名称的文件变成乱码

时间:2022-09-27 20:16:50

借鉴 http://blog.csdn.net/zhifeiyu2008/article/details/15758653

和 http://pennyfeng.blog.163.com/blog/static/3766859820099304299942/

这两篇文章,一开始导入的是java.util.zip.ZipOutputStream;

java.util.zip.ZipEntry;

 这会出现乱码(中文名称的文件),后来加入了apache-ant-zip.jar(下载地址:http://files.cnblogs.com/files/milude0161/apache-ant-zip.jar.zip),并重新导入org.apache.tools.zip.ZipOutputStream和

org.apache.tools.zip.ZipEntry;

导入后在获得压缩流后追加一个设置编码(因为服务器在Windows上,所以我设置的编码为GBK)

ZipOutputStream toClient = new ZipOutputStream(outStream);
toClient.setEncoding("GBK");

这样问题就解决了。