Android 利用Java实现压缩与解压缩(zip、gzip)支持中文路径
2010-11-05 00:54:57 来源:WEB开发网import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.zip.CRC32;
import java.util.zip.CheckedInputStream;
import java.util.zip.CheckedOutputStream;
import java.util.zip.Deflater;
import java.util.zip.ZipException;
import java.util.zip.ZipInputStream;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
import org.apache.tools.zip.ZipOutputStream;
/**
*
* 提供对单个文件与目录的压缩,并支持是否需要创建压缩源目录、中文路径
*
* @author jzj
*/
public class ZipCompress {
private static boolean isCreateSrcDir = true;//是否创建源目录
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
String src = "m:/新建文本文档.txt";//指定压缩源,可以是目录或文件
String decompressDir = "e:/tmp/decompress";//解压路径
String archive = "e:/tmp/test.zip";//压缩包路径
String comment = "Java Zip 测试.";//压缩包注释
//----压缩文件或目录
writeByApacheZipOutputStream(src, archive, comment);
/*
* 读压缩文件,注释掉,因为使用的是apache的压缩类,所以使用java类库中
* 解压类时出错,这里不能运行
*/
//readByZipInputStream();
//----使用apace ZipFile读取压缩文件
readByApacheZipFile(archive, decompressDir);
}
public static void writeByApacheZipOutputStream(String src, String archive,
String comment) throws FileNotFoundException, IOException {
//----压缩文件:
FileOutputStream f = new FileOutputStream(archive);
更多精彩
赞助商链接