public int deflateString2ByteArray(byte[] input,int inputOffset,int inputLength,byte[] bytes){
  if (inputLength >= MIN_SIZE_FOR_DEFLATION) {
    deflater.setInput(input,inputOffset,inputLength);
    deflater.finish();
    int compressedDataLength=deflater.deflate(bytes);
    deflater.reset();
    return -compressedDataLength;
  }
 else {
    System.arraycopy(input,inputOffset,bytes,0,inputLength);
    return inputLength;
  }
}

public int deflateString2ByteArray ( byte [ ] input , int inputOffset , int inputLength , byte [ ] bytes ) { if ( inputLength >= MIN_SIZE_FOR_DEFLATION ) { deflater . setInput ( input , inputOffset , inputLength ) ; deflater . finish ( ) ; int compressedDataLength = deflater . deflate ( bytes ) ; deflater . reset ( ) ; return - compressedDataLength ; } else { System . arraycopy ( input , inputOffset , bytes , 0 , inputLength ) ; return inputLength ; } }
compresses a string to an array of bytes
