java/util

[util] - 자바 문자열 압축/압축풀기

짱가쟁이 2011. 11. 14. 22:30

문자열 압축

public static byte[] compress(String src) throws IOException {

byte[] dataByte = src.getBytes();

Deflater deflater = new Deflater();

deflater.setLevel(Deflater.BEST_COMPRESSION);

deflater.setInput(dataByte);

deflater.finish();

ByteArrayOutputStream bao = new ByteArrayOutputStream(dataByte.length);

byte[] buf = new byte[1024];

while(!deflater.finished()) {

int compByte = deflater.deflate(buf);

bao.write(buf, 0, compByte);

}

bao.close();

deflater.end();

return bao.toByteArray();

}



문자열 압축 풀기

public static byte[] decompress(byte[] data) throws IOException, DataFormatException {

Inflater inflater = new Inflater();

inflater.setInput(data);

ByteArrayOutputStream bao = new ByteArrayOutputStream();

byte[] buf = new byte[1024];

while(!inflater.finished()) {

int compByte = inflater.inflate(buf);

bao.write(buf, 0, compByte);

}

bao.close();

inflater.end();


return bao.toByteArray();

}