Android Zip Unzip File decompress(File file)

Here you can find the source of decompress(File file)

Description

decompress

License

Open Source License

Declaration

@SuppressWarnings("UnusedDeclaration")
public static void decompress(File file) 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.  j  av 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. zip(File[] _files, File _zipFile)
  2. zip(List listFiles, String destZipFilePath)
  3. zipFile(File source, String basePath, ZipOutputStream zos)
  4. zipFileAtPath(File sourceFile, String toLocation)
  5. decompress(File file)
  6. decompress(File file, boolean delete)
  7. decompress(File file, boolean delete)
  8. decompress(String paramString)
  9. decompress(String path)