From 841ab996b1636b413a2febee9a357fdec407ced5 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Thu, 17 Apr 2025 10:59:49 +0200 Subject: [PATCH] Aggiunto extractZipFile --- .../integry/ems_model/utility/UtilityZip.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/ems-core/src/main/java/it/integry/ems_model/utility/UtilityZip.java b/ems-core/src/main/java/it/integry/ems_model/utility/UtilityZip.java index a086f6ad58..bb549e9ad0 100644 --- a/ems-core/src/main/java/it/integry/ems_model/utility/UtilityZip.java +++ b/ems-core/src/main/java/it/integry/ems_model/utility/UtilityZip.java @@ -4,6 +4,7 @@ import it.integry.ems.response.FileItem; import org.apache.commons.io.FilenameUtils; import java.io.*; +import java.util.ArrayList; import java.util.List; import java.util.zip.*; @@ -131,4 +132,26 @@ public class UtilityZip { return outputStream.toByteArray(); } + + public static List extractZipFile(byte[] zipFile) throws Exception { + List extractedFiles = new ArrayList<>(); + ByteArrayInputStream inputStream = new ByteArrayInputStream(zipFile); + ZipInputStream zipInputStream = new ZipInputStream(inputStream); + + while (zipInputStream.getNextEntry() != null) { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int len; + while ((len = zipInputStream.read(buffer)) > 0) { + outputStream.write(buffer, 0, len); + } + extractedFiles.add(outputStream.toByteArray()); + zipInputStream.closeEntry(); + outputStream.close(); + } + + zipInputStream.close(); + inputStream.close(); + return extractedFiles; + } }