Here you can find the source of decompress(String path, boolean delete)
@SuppressWarnings("SameParameterValue") private static void decompress(String path, boolean delete) throws Exception
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); } }