WEB开发网
开发学院手机开发Android 开发 Android 利用Java实现压缩与解压缩(zip、gzip)支... 阅读

Android 利用Java实现压缩与解压缩(zip、gzip)支持中文路径

 2010-11-05 00:54:57 来源:WEB开发网   
核心提示:** @author jzj*/public class ZipCompress {private static boolean isCreateSrcDir = true;//是否创建源目录/*** @param args* @throws IOException*/public static void main(S

*

* @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);

//使用指定校验和创建输出流

CheckedOutputStream csum = new CheckedOutputStream(f, new CRC32());

ZipOutputStream zos = new ZipOutputStream(csum);

//支持中文

zos.setEncoding("GBK");

BufferedOutputStream out = new BufferedOutputStream(zos);

//设置压缩包注释

zos.setComment(comment);

//启用压缩

zos.setMethod(ZipOutputStream.DEFLATED);

//压缩级别为最强压缩,但时间要花得多一点

zos.setLevel(Deflater.BEST_COMPRESSION);

File srcFile = new File(src);

if (!srcFile.exists() || (srcFile.isDirectory() && srcFile.list().length == 0)) {

throw new FileNotFoundException(

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Android 利用 Java

编辑录入:coldstar [复制链接] [打 印]
赞助商链接