package nl.joshuaslik.tudelft.UFMGame.util; import java.io.IOException; import java.io.PrintStream; import java.util.ArrayList; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; /** * For your daily interactions with ZIP files and the like * * @author <a href="http://www.joshuaslik.nl/" target="_blank">Joshua Slik</a> * */ public class Zipper { /** * Prints the entries * @param stream is the stream you have to print * @param zip the file is a zip */ public static void printEntries(PrintStream stream, String zip) { ZipFile zipFile = constructFile(zip); Enumeration<? extends ZipEntry> entries = zipFile.entries(); while (entries.hasMoreElements()) { ZipEntry zipEntry = entries.nextElement(); stream.println(zipEntry.getName()); } } /** * Making an arraylist of the zip * @param zip is the file in which it is * @return the zipfile as an array */ public static ArrayList<ZipEntry> listEntries(String zip) { // System.out.println("Zip Called"); ZipFile zipFile = constructFile(zip); // System.out.println(zipFile); ArrayList<ZipEntry> ret = new ArrayList<ZipEntry>(); Enumeration<? extends ZipEntry> entries = zipFile.entries(); while (entries.hasMoreElements()) { ZipEntry zipEntry = entries.nextElement(); ret.add(zipEntry); } // System.out.println(ret); return ret; } /** * Listing the entries as a string * @param zip is the file * @return the zipfile as an array */ public static ArrayList<String> listEntriesString(String zip) { ZipFile zipFile = constructFile(zip); ArrayList<String> ret = new ArrayList<String>(); Enumeration<? extends ZipEntry> entries = zipFile.entries(); while (entries.hasMoreElements()) { ZipEntry zipEntry = entries.nextElement(); ret.add(zipEntry.getName()); } return ret; } private static ZipFile constructFile(String zip) { ZipFile zipFile = null; try { zipFile = new ZipFile(zip); } catch (IOException e) { System.err.println("[ERROR] Error opening zip file: " + zip); } return zipFile; } }