【JDK ZipEntry压缩中文文件名乱码解决】

项目中碰到问题.jdk zipEntry 压缩中文文件名乱码

  上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream 的源文件,比较麻烦,不建议此项.

  第二种 就是拿来主义,因为 开源项目 Ant 里已经有现成的实现.把ant.jar 加入到 工程下的lib目录即可.

  如果仅用到压缩,就加入ant.jar 就导致引入了一些不必要的文件,所以我找到Ant1.8的源码,然后只把需要的那一部分编译打包成了一个jar文件,供大家使用

  首先引入

  Java代码

  import org.apache.tools.zip.ZipEntry;

  import org.apache.tools.zip.ZipOutputStream;

  关键示例代码如下:

  Java代码

  zos = new ZipOutputStream(new FileOutputStream(zipname));

  FileInputStream fis = new FileInputStream(file);

  ZipEntry ze = new ZipEntry(file.getName());

  ze.setSize(file.length());

  ze.setTime(file.lastModified());

  zos.putNextEntry(ze);       zos.setEncoding("gbk");

posted @ 2013-08-22 09:24  豆豆逗逗  阅读(2614)  评论(0)    收藏  举报