try with resources

This commit is contained in:
Leijurv 2018-08-04 13:34:50 -04:00
parent d6b3d57560
commit e2030eeba9
No known key found for this signature in database
GPG Key ID: 44A3EA646EADAC6A

View File

@ -12,79 +12,28 @@ import java.util.zip.GZIPOutputStream;
*/
public final class GZIPUtils {
private GZIPUtils() {}
public static byte[] compress(byte[] in) {
ByteArrayOutputStream byteStream = null;
GZIPOutputStream gzipStream = null;
try {
byteStream = new ByteArrayOutputStream(in.length);
gzipStream = new GZIPOutputStream(byteStream);
gzipStream.write(in);
} catch (IOException e) {
e.printStackTrace();
} finally {
// Clean up the byte array stream
if (byteStream != null) {
try {
byteStream.close();
} catch (IOException ignored) {}
}
// Clean up the GZIP compression stream
if (gzipStream != null) {
try {
gzipStream.close();
} catch (IOException ignored) {}
}
}
return byteStream != null ? byteStream.toByteArray(): null;
private GZIPUtils() {
}
public static byte[] decompress(byte[] in) {
ByteArrayInputStream byteStream = null;
GZIPInputStream gzipStream = null;
ByteArrayOutputStream outStream = null;
public static byte[] compress(byte[] in) throws IOException {
ByteArrayOutputStream byteStream = new ByteArrayOutputStream(in.length);
try {
byteStream = new ByteArrayInputStream(in);
gzipStream = new GZIPInputStream(byteStream);
outStream = new ByteArrayOutputStream();
try (GZIPOutputStream gzipStream = new GZIPOutputStream(byteStream)) {
gzipStream.write(in);
}
return byteStream.toByteArray();
}
public static byte[] decompress(byte[] in) throws IOException {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
try (GZIPInputStream gzipStream = new GZIPInputStream(new ByteArrayInputStream(in))) {
byte[] buffer = new byte[1024];
int len;
while ((len = gzipStream.read(buffer)) > 0) {
outStream.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// Clean up the byte array stream
if (byteStream != null) {
try {
byteStream.close();
} catch (IOException ignored) {}
}
// Clean up the GZIP compression stream
if (gzipStream != null) {
try {
gzipStream.close();
} catch (IOException ignored) {}
}
// Clean up the byte output stream
if (outStream != null) {
try {
outStream.close();
} catch (IOException ignored) {}
}
}
return outStream != null ? outStream.toByteArray() : null;
return outStream.toByteArray();
}
}