From ddbb7b82a5c0abff5b30bec84e4d41d9f9d6e2d5 Mon Sep 17 00:00:00 2001 From: Daniel Scalzi Date: Mon, 2 Mar 2020 20:08:14 -0500 Subject: [PATCH] Ensure ByteOutputStream is auto closed. --- .../service/SmgService.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/lmco/spectrum/systemnavigation3d/service/SmgService.java b/src/main/java/com/lmco/spectrum/systemnavigation3d/service/SmgService.java index e1faf57..a008176 100644 --- a/src/main/java/com/lmco/spectrum/systemnavigation3d/service/SmgService.java +++ b/src/main/java/com/lmco/spectrum/systemnavigation3d/service/SmgService.java @@ -64,22 +64,21 @@ public Map getSmgXmlEntry(byte[] data) { @Nullable public byte[] repackageSmg(Map entryMap) { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - try (ZipOutputStream zos = new ZipOutputStream(bos)) { - for(Map.Entry entry : entryMap.entrySet()) { - ZipEntry zipEntry = new ZipEntry(entry.getKey()); - zos.putNextEntry(zipEntry); - zos.write(entry.getValue()); - zos.closeEntry(); + try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) { + try (ZipOutputStream zos = new ZipOutputStream(bos)) { + for(Map.Entry entry : entryMap.entrySet()) { + ZipEntry zipEntry = new ZipEntry(entry.getKey()); + zos.putNextEntry(zipEntry); + zos.write(entry.getValue()); + zos.closeEntry(); + } } + return bos.toByteArray(); } catch (IOException e) { log.error("Failed to repackage smg file"); e.printStackTrace(); return null; } - - return bos.toByteArray(); - } }