import
java.io.ByteArrayInputStream;
import
java.io.ByteArrayOutputStream;
import
java.io.IOException;
import
java.util.Arrays;
import
java.util.zip.DataFormatException;
import
java.util.zip.GZIPInputStream;
import
java.util.zip.GZIPOutputStream;
public
class
GFG {
public
static
void
main(String[] args)
throws
DataFormatException, IOException
{
String message =
"Welcome to Geeksforgeeks;"
+
"Welcome to Geeksforgeeks;"
+
"Welcome to Geeksforgeeks;"
+
"Welcome to Geeksforgeeks;"
+
"Welcome to Geeksforgeeks;"
+
"Welcome to Geeksforgeeks;"
+
"Welcome to Geeksforgeeks;"
+
"Welcome to Geeksforgeeks;"
+
"Welcome to Geeksforgeeks;"
+
"Welcome to Geeksforgeeks;"
;
System.out.println(
"Original Message length : "
+ message.length());
byte
[] input = message.getBytes(
"UTF-8"
);
ByteArrayOutputStream arrayOutputStream
=
new
ByteArrayOutputStream();
GZIPOutputStream outputStream
=
new
GZIPOutputStream(arrayOutputStream);
outputStream.write(input);
outputStream.close();
byte
[] readBuffer =
new
byte
[
5000
];
ByteArrayInputStream arrayInputStream
=
new
ByteArrayInputStream(
arrayOutputStream.toByteArray());
GZIPInputStream inputStream
=
new
GZIPInputStream(arrayInputStream);
int
read = inputStream.read(readBuffer,
0
,
readBuffer.length);
inputStream.close();
byte
[] result = Arrays.copyOf(readBuffer, read);
message =
new
String(result,
"UTF-8"
);
System.out.println(
"UnCompressed Message length : "
+ message.length());
}
}