天天看点

Android Zip文件解压缩代码

 在android平台中如何实现zip文件的解压缩功能呢? 因为android内部已经集成了zlib库,对于英文和非密码的zip文件解压缩还是比较简单的,下面android123给大家一个解压缩zip的java代码,可以在android上任何版本中使用,unzip这个静态方法比较简单,参数一为源zip文件的完整路径,参数二为解压缩后存放的文件夹。

private static void unzip(string zipfile, string targetdir) {

   int buffer = 4096; //这里缓冲区我们使用4kb,

   string strentry; //保存每个zip的条目名称

   try {

    bufferedoutputstream dest = null; //缓冲输出流

    fileinputstream fis = new fileinputstream(zipfile);

    zipinputstream zis = new zipinputstream(new bufferedinputstream(fis));

    zipentry entry; //每个zip条目的实例

    while ((entry = zis.getnextentry()) != null) {

     try {

       log.i("unzip: ","="+ entry);

      int count;

      byte data[] = new byte[buffer];

      strentry = entry.getname();

      file entryfile = new file(targetdir + strentry);

      file entrydir = new file(entryfile.getparent());

      if (!entrydir.exists()) {

       entrydir.mkdirs();

      }

      fileoutputstream fos = new fileoutputstream(entryfile);

      dest = new bufferedoutputstream(fos, buffer);

      while ((count = zis.read(data, 0, buffer)) != -1) {

       dest.write(data, 0, count);

      dest.flush();

      dest.close();

     } catch (exception ex) {

      ex.printstacktrace();

     }

    }

    zis.close();

   } catch (exception cwj) {

    cwj.printstacktrace();

   }

  }

  上面是android开发网总结的zip文件解压缩代码,希望你大家有用,需要注意的是参数均填写完整的路径,比如/mnt/sdcard/xxx.zip这样的类型。

继续阅读