public void close() throws IOException {
  if (!closed) {
    finish();
    if (usesDefaultDeflater)     def.end();
    out.close();
    closed=true;
  }
}

public void close ( ) throws IOException { if ( ! closed ) { finish ( ) ; if ( usesDefaultDeflater ) def . end ( ) ; out . close ( ) ; closed = true ; } }
writes remaining compressed data to the output stream and closes the underlying stream .
