import java.util.zip.*; import java.io.*; public class Gzip { // Can block when buffer in pipe is full! public static void main (String args[]) throws IOException { final PipedOutputStream po = new PipedOutputStream (); final PipedInputStream pi = new PipedInputStream (); po.connect (pi); final OutputStream out = new GZIPOutputStream (po); final InputStream in = new GZIPInputStream (pi); byte [] buffer = new byte[1024]; int c; while ((c=System.in.read(buffer)) > 0) { out.write(buffer,0,c); } out.close(); while ((c=in.read(buffer)) > 0) { System.out.write (buffer,0,c); } in.close(); } }