From fffd2afe5ed9dd73ff5d961c2970bcab7198792f Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 17 Apr 2021 03:27:46 +0800 Subject: [PATCH] refactor decompression --- forge-gui/pom.xml | 5 ----- .../gui/download/GuiDownloadZipService.java | 16 +++++++--------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/forge-gui/pom.xml b/forge-gui/pom.xml index d79a9a6f6aa..db673365eaf 100644 --- a/forge-gui/pom.xml +++ b/forge-gui/pom.xml @@ -47,11 +47,6 @@ 4.1.48.Final compile - - org.apache.commons - commons-compress - 1.8.1 - org.apache.logging.log4j log4j-api diff --git a/forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java index bc5ea946a00..2f94c8966ee 100644 --- a/forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java @@ -9,9 +9,12 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; +import java.nio.charset.Charset; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; import com.esotericsoftware.minlog.Log; import com.google.common.io.Files; @@ -20,8 +23,6 @@ import forge.gui.FThreads; import forge.gui.GuiBase; import forge.gui.interfaces.IProgressBar; import forge.util.FileUtil; -import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; -import org.apache.commons.compress.archivers.zip.ZipFile; public class GuiDownloadZipService extends GuiDownloadService { private final String name, desc, sourceUrl, destFolder, deleteFolder; @@ -171,16 +172,13 @@ public class GuiDownloadZipService extends GuiDownloadService { } } - final ZipFile zipFile = new ZipFile(zipFilename, null); //null uses FallbackZipEncoding - final java.util.zip.ZipFile zipFile1 = new java.util.zip.ZipFile(zipFilename); //for getting the size/number of entries for progress bar - final Enumeration entries = zipFile.getEntries(); + final ZipFile zipFile = new ZipFile(zipFilename, Charset.forName("IBM437")); + final Enumeration entries = zipFile.entries(); progressBar.reset(); progressBar.setPercentMode(true); progressBar.setDescription("Extracting " + desc); - progressBar.setMaximum(zipFile1.size()); - //close since we already get the number of entries... - zipFile1.close(); + progressBar.setMaximum(zipFile.size()); FileUtil.ensureDirectoryExists(destFolder); @@ -190,7 +188,7 @@ public class GuiDownloadZipService extends GuiDownloadService { if (cancel) { break; } try { - final ZipArchiveEntry entry = entries.nextElement(); + final ZipEntry entry = entries.nextElement(); final String path = destFolder + File.separator + entry.getName(); if (entry.isDirectory()) {