ZipOutputStream打包压缩文件中出现文件名乱码

解决ZipOutputStream打包压缩文件中出现文件名乱码的问题,红色字体给ipOutputStream 设置GBK编码

/**

 * 打包方法  *  * @param file  * @param zos  * @throws IOException  */ private void doZip(FileEntity file, ZipOutputStream zos) throws IOException {
   zos.putNextEntry(new ZipEntry(file.getFileName()));
 //解决打包下载之后,文件名称出现中文乱码,注意此处编码设置为gbk zos.setEncoding("gbk");
 URL url = new URL(file.getFileUrl());
   InputStream fis = url.openStream();
   try {
      byte[] buffer = new byte[1024];
      int r = 0;
      while ((r = fis.read(buffer)) > 0) {
         zos.write(buffer, 0, r);
      }
   } finally {
      zos.flush();
      fis.close();
   }
}

你可能感兴趣的:(压缩,编码,乱码)