package robert.utilities; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import org.apache.commons.io.IOUtils; /** * Archive Utilities * @author Robert Lai * */ public final class ArchiveUtils { /** * Extract Archive * @param source source file * @param destination destination file * @throws IOException */ public static void extract(File source,File destination) throws IOException{ //Open zip file ZipFile zipFile=new ZipFile(source); //Get all zip entry Enumeration<ZipEntry> zipEntries=(Enumeration<ZipEntry>) zipFile.entries(); //Iterate zip entry ZipEntry zipEntry=null; String entryName=""; File targetFile=null; while(zipEntries.hasMoreElements()){ //Get entry zipEntry=zipEntries.nextElement(); //Get entry name entryName=zipEntry.getName(); //Create target file targetFile=new File(destination.getAbsolutePath().replaceAll("", "/")+"/"+entryName); if(zipEntry.isDirectory()){ //Make all directory targetFile.mkdirs(); }else{ //Copy file IOUtils.copy(zipFile.getInputStream(zipEntry),new FileOutputStream(targetFile)); } } zipFile.close(); } /** * Compress Archive * @param source * @param destination */ public static void compress(String source,String destination){ } public static void main(String[] args){ } }