diff --git a/paimon-core/src/main/java/org/apache/paimon/utils/CompressUtils.java b/paimon-core/src/main/java/org/apache/paimon/utils/CompressUtils.java index 2a4aa71b3d2b..dae12bd71572 100644 --- a/paimon-core/src/main/java/org/apache/paimon/utils/CompressUtils.java +++ b/paimon-core/src/main/java/org/apache/paimon/utils/CompressUtils.java @@ -27,20 +27,14 @@ public class CompressUtils { public static void gzipCompressFile(String src, String dest) throws IOException { - FileInputStream fis = new FileInputStream(src); - FileOutputStream fos = new FileOutputStream(dest); - GZIPOutputStream gzipOs = new GZIPOutputStream(fos); - byte[] buffer = new byte[1024]; - int bytesRead; - while (true) { - bytesRead = fis.read(buffer); - if (bytesRead == -1) { - fis.close(); - gzipOs.close(); - return; + try (FileInputStream fis = new FileInputStream(src); + FileOutputStream fos = new FileOutputStream(dest); + GZIPOutputStream gzipOs = new GZIPOutputStream(fos)) { + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = fis.read(buffer)) != -1) { + gzipOs.write(buffer, 0, bytesRead); } - - gzipOs.write(buffer, 0, bytesRead); } } }