public static void backupExtract (String zipLocation, String outputLocation) {
        Logger.logInfo("Extracting (Backup way)");
        byte[] buffer = new byte[1024];
        ZipInputStream zis = null;
        ZipEntry ze;
        try {
            File folder = new File(outputLocation);
            if (!folder.exists()) {
                folder.mkdir();
            }
            zis = new ZipInputStream(new FileInputStream(zipLocation));
            ze = zis.getNextEntry();
            while (ze != null) {
                File newFile = new File(outputLocation, ze.getName());
                newFile.getParentFile().mkdirs();
                if (!ze.isDirectory()) {
                    FileOutputStream fos = new FileOutputStream(newFile);
                    int len;
                    while ((len = zis.read(buffer)) > 0) {
                        fos.write(buffer, 0, len);
                    }
                    fos.flush();
                    fos.close();
                }
                ze = zis.getNextEntry();
            }
        } catch (IOException ex) {
            Logger.logError("Error while extracting zip", ex);
        } finally {
            try {
                zis.closeEntry();
                zis.close();
            } catch (IOException e) {
            }
        }
    }