
fi.evolver.utils.GzipUtils Maven / Gradle / Ivy
package fi.evolver.utils;
import java.io.*;
import java.nio.charset.Charset;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.input.ReaderInputStream;
public class GzipUtils {
private GzipUtils() { }
public static byte[] zip(String text, Charset charset) {
if (text == null)
return null;
return zip(new ReaderInputStream(new StringReader(text), charset));
}
public static byte[] zip(byte[] data) {
if (data == null)
return null;
return zip(new ByteArrayInputStream(data));
}
public static byte[] zip(InputStream input) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
try (GZIPOutputStream out = new GZIPOutputStream(bytes)) {
IOUtils.copy(input, out);
}
catch (IOException e) {
throw new UncheckedIOException(e);
}
return bytes.toByteArray();
}
public static String unzip(byte[] data, Charset charset) {
if (data == null)
return null;
try (GZIPInputStream zip = new GZIPInputStream(new ByteArrayInputStream(data))) {
return IOUtils.toString(zip, charset);
}
catch (IOException e) {
throw new UncheckedIOException(e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy