equivalent-exchange-3/src/main/java/com/pahimar/ee3/util/CompressionHelper.java
2023-01-03 17:47:36 +01:00

54 lines
1.5 KiB
Java

package com.pahimar.ee3.util;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class CompressionHelper {
/**
*
* @param uncompressedString
* @return
*/
public static byte[] compress(String uncompressedString) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try (
GZIPOutputStream gzipOutputStream
= new GZIPOutputStream(byteArrayOutputStream)
) {
gzipOutputStream.write(uncompressedString.getBytes(StandardCharsets.UTF_8));
gzipOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return byteArrayOutputStream.toByteArray();
}
/**
*
* @param compressedString
* @return
*/
public static String decompress(byte[] compressedString) {
StringBuilder stringBuilder = new StringBuilder();
String line;
try (
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(
new GZIPInputStream(new ByteArrayInputStream(compressedString)),
StandardCharsets.UTF_8
))
) {
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return stringBuilder.toString();
}
}