classGZIPOutputStreamextendsDeflaterOutputStream{
publicGZIPOutputStream(OutputStream out,int size,boolean syncFlush){
super(out,newDeflater(Deflater.DEFAULT_COMPRESSION,true), size, syncFlush);writeHeader();}publicvoidfinish()throws IOException {
if(!def.finished()){
def.finish();while(!def.finished()){
int len = def.deflate(buf,0, buf.length);if(def.finished()&& len <= buf.length - TRAILER_SIZE){
// last deflater buffer. Fit trailer at the endwriteTrailer