public class Gzip { /** * gzip file */ public void gzip(String fis, String fos) { try { FileInputStream fin = new FileInputStream(fis); FileOutputStream fout = new FileOutputStream(fos); GZIPOutputStream gzout = new GZIPOutputStream(fout); byte[] buf = new byte[1024];// int num; while ((num = fin.read(buf)) != -1) { gzout.write(buf, 0, num); } gzout.close();// !!!Don't forget to release the source fout.close(); fin.close(); } catch (IOException e) { System.out.println(e); } } /** * extract file from gzip */ public void unzip(String fis, String fos) { try { FileInputStream fin = new FileInputStream(fis); GZIPInputStream gzin = new GZIPInputStream(fin); FileOutputStream fout = new FileOutputStream(fos); byte[] buf = new byte[1024]; int num; while ((num = gzin.read(buf, 0, buf.length)) != -1) { fout.write(buf, 0, num); } gzin.close(); fout.close(); fin.close(); } catch (IOException e) { System.out.println(e); } } public static void main(String[] args) throws FileNotFoundException { String path="/home/siya/local/test"; String file="localfile"; String gzfile="localfile.gz"; String fis=path+File.separator+file; String fos=path+File.separator+gzfile; // new Gzip().unzip(fis, fos); new Gzip().gzip(fis, fos); } }