Android Unzip File unzip(String zipFile, String location)

Here you can find the source of unzip(String zipFile, String location)

Description

unzip

License

Open Source License

Declaration

public static void unzip(String zipFile, String location)
            throws IOException 

Method Source Code

//package com.java2s;
//License from project: Open Source License 

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.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

import android.util.Log;

public class Main {
    private static final String TAG = "ZipUtils";
    private static final int BUFFER_SIZE = 1024;

    public static void unzip(String zipFile, String location)
            throws IOException {
        int size;
        byte[] buffer = new byte[BUFFER_SIZE];

        try {/* w w w  .  j  av  a  2s.c o m*/
            if (!location.endsWith("/")) {
                location += "/";
            }
            File f = new File(location);
            if (!f.isDirectory()) {
                f.mkdirs();
            }
            ZipInputStream zin = new ZipInputStream(
                    new BufferedInputStream(new FileInputStream(zipFile),
                            BUFFER_SIZE));
            try {
                ZipEntry ze = null;
                while ((ze = zin.getNextEntry()) != null) {
                    String path = location + ze.getName();
                    File unzipFile = new File(path);

                    if (ze.isDirectory()) {
                        if (!unzipFile.isDirectory()) {
                            unzipFile.mkdirs();
                        }
                    } else {
                        // check for and create parent directories if they don't exist
                        File parentDir = unzipFile.getParentFile();
                        if (null != parentDir) {
                            if (!parentDir.isDirectory()) {
                                parentDir.mkdirs();
                            }
                        }

                        // unzip the file
                        FileOutputStream out = new FileOutputStream(
                                unzipFile, false);
                        BufferedOutputStream fout = new BufferedOutputStream(
                                out, BUFFER_SIZE);
                        try {
                            while ((size = zin.read(buffer, 0, BUFFER_SIZE)) != -1) {
                                fout.write(buffer, 0, size);
                            }

                            zin.closeEntry();
                        } finally {
                            fout.flush();
                            fout.close();
                        }
                    }
                }
            } finally {
                zin.close();
            }
        } catch (Exception e) {
            Log.e(TAG, "Unzip exception", e);
        }
    }
}

Related

  1. unzip(File zippedFile, File unpackedFile)
  2. unzip(File zippedFile, File unpackedFile)
  3. unzip(File zippedFile, File unpackedFile)
  4. unzip(String zipFile, String location)
  5. unzip(String zipFile, String location)
  6. unzip(String zipFile, String location)
  7. unpack(File zippedFile, File unpackedFile)
  8. unpack(File zippedFile, File unpackedFile)
  9. unpackZip(File zip, String unpackPath)