Giriş
Şu satırı dahil ederiz.
Şu satırı dahil ederiz.
import java.util.zip.Inflater;
Sıkıştırılmış veriyi açmak için kullanılır. Sıkıştırmak için Deflater Sınıfı kullanılır.Kullanım
Açma (decompress) için şöyle yaparız
Açma (decompress) için şöyle yaparız
public static byte[] decompressImage(byte[] data) {
Inflater inflater = new Inflater();
inflater.setInput(data);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(data.length);
byte[] tmp = new byte[4*1024];
try {
while (!inflater.finished()) {
int count = inflater.inflate(tmp);
outputStream.write(tmp, 0, count);
}
outputStream.close();
} catch (Exception exception) {
}
return outputStream.toByteArray();
}
Örnek
Şöyle yaparız
public static byte[] decompress(byte[] compressedData) {
if (compressedData.length == 0) {
return compressedData;
}
Inflater inflater = new Inflater();
inflater.setInput(compressedData);
ByteArrayOutputStream bos = new ByteArrayOutputStream(compressedData.length);
byte[] buf = new byte[1024];
while (!inflater.finished()) {
try {
int count = inflater.inflate(buf);
bos.write(buf, 0, count);
} catch (DataFormatException e) {
LOGGER.finest("Decompression failed", e);
}
}
inflater.end();
return bos.toByteArray();
}
constructor
Inflater inflater = new Inflater();
inflate metoduŞöyle yaparız
//Buffer of uncompressed databyte[] outBuf = ...;
try {
inflater.inflate(outBuf);
} catch(DataFormatException dfe) {
...
}
reset metodu
Şöyle yaparız
// Reset the inflator so we can re-use it
inflater.reset();
setInput metodu
Şöyle yaparız
//Buffer of compressed data read from the stream
byte[] inBuf = ...;
//Length of data in the input data
int inLength = ...;
inflater.setInput(inBuf, 0, inLength);
Hiç yorum yok:
Yorum Gönder