Java: Błąd podczas tworzenia GZIPInputStream: Nie w formacie GZIP
Próbuję użyć następującego kodu Java do kompresji i dekompresji ciągu znaków. Ale linia, która tworzy nowy obiekt GZipInputStream z nowego obiektu ByteArrayInputStream, zgłasza wyjątek „java.util.zip.ZipException: nie w formacie GZIP”. Czy ktoś wie, jak to rozwiązać?
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();