/**
* GZip를 이용한 스트링 압축
* @author jksong
* @Param
* @since 2019-09-09 오전 8:30
**/
public static byte[] zipStringToBytes(String input) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(byteArrayOutputStream);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(gzipOutputStream);
bufferedOutputStream.write(input.getBytes());
bufferedOutputStream.close();
byteArrayOutputStream.close();
return byteArrayOutputStream.toByteArray();
}
/**
* GZIPInputStream을 이용하여 byte배열 압축해제하기
* @author jksong
* @Param
* @since 2019-09-09 오전 8:30
**/
public String unzipStringFromBytes(byte[] bytes) throws IOException {
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
GZIPInputStream gzipInputStream = new GZIPInputStream(byteArrayInputStream);
BufferedInputStream bufferedInputStream = new BufferedInputStream(gzipInputStream);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[100];
int length;
while((length = bufferedInputStream.read(buffer)) > 0) {
byteArrayOutputStream.write(buffer, 0, length);
}
bufferedInputStream.close();
gzipInputStream.close();
byteArrayInputStream.close();
byteArrayOutputStream.close();
return byteArrayOutputStream.toString();
}
'java' 카테고리의 다른 글
메소드 참조 표현식(이중 콜론 연산자), 생성자참조 표현식 (0) | 2023.01.18 |
---|---|
한자리 숫자일대 앞에 0을 붙여준다 (0) | 2021.07.29 |
숫자만 입력되었는지 체크하기 (0) | 2019.03.05 |
입력 날짜 및 시간 이후 시간 계산 (2) | 2018.03.07 |
용량 계산 (0) | 2017.12.27 |