用过java做压缩或解压的都知道,jdk提供的zip只能按UTF-8格式处理,所有jdk提供的zip不能支持中文文件名采用Apache的zip包解决中文文件名问题(依赖 ant-1.9.6.jar)
package cn.tzz.zip;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
import org.apache.tools.zip.ZipOutputStream;
/**
* ZIP工具包(支持中文)
* 依赖:ant-1.9.6.jar
*/
public class CHZipUtils {
/**使用GBK编码可以避免压缩中文文件名乱码*/
private static final String CHINESE_CHARSET = "GBK";
/**文件读取缓冲区大小*/
private static final int CACHE_SIZE = 1024;