Android Zip Unzip Directory zipSubFolder(final ZipOutputStream out, final File folder, final int basePathLength)

Here you can find the source of zipSubFolder(final ZipOutputStream out, final File folder, final int basePathLength)

Description

zip Sub Folder

Declaration

private static void zipSubFolder(final ZipOutputStream out,
            final File folder, final int basePathLength) throws IOException 

Method Source Code

//package com.java2s;
import java.io.BufferedInputStream;

import java.io.File;
import java.io.FileInputStream;

import java.io.IOException;

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

import android.util.Log;

public class Main {
    private static void zipSubFolder(final ZipOutputStream out,
            final File folder, final int basePathLength) throws IOException {

        final int BUFFER = 2048;

        final File[] fileList = folder.listFiles();
        BufferedInputStream origin = null;
        for (final File file : fileList) {
            if (file.isDirectory()) {
                zipSubFolder(out, file, basePathLength);
            } else {
                final byte data[] = new byte[BUFFER];
                final String unmodifiedFilePath = file.getPath();
                final String relativePath = unmodifiedFilePath
                        .substring(basePathLength);
                Log.i("ZIP SUBFOLDER", "Relative Path : " + relativePath);
                final FileInputStream fi = new FileInputStream(
                        unmodifiedFilePath);
                origin = new BufferedInputStream(fi, BUFFER);
                final ZipEntry entry = new ZipEntry(relativePath);
                out.putNextEntry(entry);
                int count;
                while ((count = origin.read(data, 0, BUFFER)) != -1) {
                    out.write(data, 0, count);
                }//from   w w  w.jav  a 2  s  . com
                origin.close();
            }
        }
    }
}

Related

  1. zipSubFolder(ZipOutputStream out, File folder, int basePathLength)
  2. zipSubFolder(ZipOutputStream out, File folder, int basePathLength)
  3. zipSubFolder(ZipOutputStream out, File folder, int basePathLength)
  4. zipSubFolder(ZipOutputStream out, File folder, int basePathLength)
  5. zipSubFolder(ZipOutputStream out, File folder, int basePathLength)
  6. zipFileAtPath(String[] sourcePaths, String toLocation)
  7. zipFileAtPath(String[] sourcePaths, String toLocation)
  8. zipFileAtPath(final String sourcePath, final String toLocation)
  9. zipDirectory(File directory, File zip)