Wednesday 13 March 2013

UnZip file in Android

With the help of this function we can unzip file with in any given folder in sdcard :

public static boolean UnZipFolder(String zipFileString, String outPathString)throws Exception {
            android.util.Log.v("XZip", "UnZipFolder(String, String)");
            java.util.zip.ZipInputStream inZip = new java.util.zip.ZipInputStream(new         java.io.FileInputStream(zipFileString));
            java.util.zip.ZipEntry zipEntry;
            String szName = "";
            while ((zipEntry = inZip.getNextEntry()) != null) {
              szName = zipEntry.getName();
              if (zipEntry.isDirectory()) {
                szName = szName.substring(0, szName.length() - 1);
                java.io.File folder = new java.io.File(outPathString + java.io.File.separator + szName);
                folder.mkdirs();
              } else {
                try{
                java.io.File file = new java.io.File(outPathString + java.io.File.separator + szName);
                file.createNewFile();
                java.io.FileOutputStream out = new java.io.FileOutputStream(file);
                int len;
                byte[] buffer = new byte[1024];
                while ((len = inZip.read(buffer)) != -1) {
                  out.write(buffer, 0, len);
                  out.flush();
                }
                out.close();
                }catch(Exception e){
                  Log.d("UI","unzip error!");
                }
              }
            }   
            inZip.close();
            return true;
          }