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");