mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
refactor decompression
This commit is contained in:
@@ -47,11 +47,6 @@
|
|||||||
<version>4.1.48.Final</version>
|
<version>4.1.48.Final</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.commons</groupId>
|
|
||||||
<artifactId>commons-compress</artifactId>
|
|
||||||
<version>1.8.1</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
<artifactId>log4j-api</artifactId>
|
<artifactId>log4j-api</artifactId>
|
||||||
|
|||||||
@@ -9,9 +9,12 @@ import java.io.InputStream;
|
|||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.zip.ZipEntry;
|
||||||
|
import java.util.zip.ZipFile;
|
||||||
|
|
||||||
import com.esotericsoftware.minlog.Log;
|
import com.esotericsoftware.minlog.Log;
|
||||||
import com.google.common.io.Files;
|
import com.google.common.io.Files;
|
||||||
@@ -20,8 +23,6 @@ import forge.gui.FThreads;
|
|||||||
import forge.gui.GuiBase;
|
import forge.gui.GuiBase;
|
||||||
import forge.gui.interfaces.IProgressBar;
|
import forge.gui.interfaces.IProgressBar;
|
||||||
import forge.util.FileUtil;
|
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 {
|
public class GuiDownloadZipService extends GuiDownloadService {
|
||||||
private final String name, desc, sourceUrl, destFolder, deleteFolder;
|
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 ZipFile zipFile = new ZipFile(zipFilename, Charset.forName("IBM437"));
|
||||||
final java.util.zip.ZipFile zipFile1 = new java.util.zip.ZipFile(zipFilename); //for getting the size/number of entries for progress bar
|
final Enumeration<? extends ZipEntry> entries = zipFile.entries();
|
||||||
final Enumeration<? extends ZipArchiveEntry> entries = zipFile.getEntries();
|
|
||||||
|
|
||||||
progressBar.reset();
|
progressBar.reset();
|
||||||
progressBar.setPercentMode(true);
|
progressBar.setPercentMode(true);
|
||||||
progressBar.setDescription("Extracting " + desc);
|
progressBar.setDescription("Extracting " + desc);
|
||||||
progressBar.setMaximum(zipFile1.size());
|
progressBar.setMaximum(zipFile.size());
|
||||||
//close since we already get the number of entries...
|
|
||||||
zipFile1.close();
|
|
||||||
|
|
||||||
FileUtil.ensureDirectoryExists(destFolder);
|
FileUtil.ensureDirectoryExists(destFolder);
|
||||||
|
|
||||||
@@ -190,7 +188,7 @@ public class GuiDownloadZipService extends GuiDownloadService {
|
|||||||
if (cancel) { break; }
|
if (cancel) { break; }
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final ZipArchiveEntry entry = entries.nextElement();
|
final ZipEntry entry = entries.nextElement();
|
||||||
|
|
||||||
final String path = destFolder + File.separator + entry.getName();
|
final String path = destFolder + File.separator + entry.getName();
|
||||||
if (entry.isDirectory()) {
|
if (entry.isDirectory()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user