Android Zip Unzip File decompress(String path, boolean delete)

Here you can find the source of decompress(String path, boolean delete)

Description

decompress

License

Open Source License

Declaration

@SuppressWarnings("SameParameterValue")
private static void decompress(String path, boolean delete)
        throws Exception 

Method Source Code


import java.io.*;
import java.util.zip.GZIPInputStream;

public class Main {
    private static final int BUFFER = 1024;
    private static final String EXT = ".gz";

    public static byte[] decompress(byte[] data) {
        ByteArrayInputStream bais = new ByteArrayInputStream(data);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();

        // w  w w  .ja v a2s .c  om

        decompress(bais, baos);

        data = baos.toByteArray();

        try {
            baos.flush();
        } catch (IOException e) {
            System.out.println(e.getMessage());
        } finally {
            try {
                baos.close();
            } catch (IOException e) {
                
            }

            try {
                bais.close();
            } catch (IOException e) {
                
            }

        }

        return data;
    }

    @SuppressWarnings("UnusedDeclaration")
    public static void decompress(File file) throws Exception {
        decompress(file, true);
    }

    private static void decompress(File file, boolean delete)
            throws Exception {
        FileInputStream fis = new FileInputStream(file);
        FileOutputStream fos = new FileOutputStream(file.getPath().replace(
                EXT, ""));
        decompress(fis, fos);
        fis.close();
        fos.flush();
        fos.close();

        if (delete) {
            
            file.delete();
        }
    }

    private static void decompress(InputStream is, OutputStream os) {

        GZIPInputStream gis = null;
        try {
            gis = new GZIPInputStream(is);
            int count;
            byte data[] = new byte[BUFFER];
            while ((count = gis.read(data, 0, BUFFER)) != -1) {
                os.write(data, 0, count);
            }
        } catch (IOException e) {
            System.out.println(e.getMessage());
        } finally {
            if (gis != null) {
                try {
                    gis.close();
                } catch (IOException e) {
                    
                }
            }
        }
    }

    @SuppressWarnings("UnusedDeclaration")
    public static void decompress(String path) throws Exception {
        decompress(path, true);
    }

    @SuppressWarnings("SameParameterValue")
    private static void decompress(String path, boolean delete)
            throws Exception {
        File file = new File(path);
        decompress(file, delete);
    }
}

Related

  1. decompress(File file, boolean delete)
  2. decompress(String paramString)
  3. decompress(String path)
  4. decompress(String path)
  5. decompress(String path, boolean delete)