Java: Error al crear un GZIPInputStream: no en formato GZIP
Estoy tratando de usar el siguiente código Java para comprimir y descomprimir una cadena. Pero la línea que crea un nuevo objeto GZipInputStream a partir de un nuevo objeto ByteArrayInputStream lanza una excepción "java.util.zip.ZipException: no en formato GZIP". Alguien sabe cómo resolver esto?
String orig = ".............";
// compress it
ByteArrayOutputStream baostream = new ByteArrayOutputStream();
OutputStream outStream = new GZIPOutputStream(baostream);
outStream.write(orig.getBytes());
outStream.close();
String compressedStr = baostream.toString();
// uncompress it
InputStream inStream = new GZIPInputStream(new ByteArrayInputStream(compressedStr.getBytes()));
ByteArrayOutputStream baoStream2 = new ByteArrayOutputStream();
byte[] buffer = new byte[8192];
int len;
while((len = inStream.read(buffer))>0)
baoStream2.write(buffer, 0, len);
String uncompressedStr = baoStream2.toString();