Zip dearchiver for JVM
My simple Zip dearchiver. It was written in Groovy, but intuitevely convertible to Java 8 with Lambdas.
Reason I wrote it: Windows Firewall refused dearchiving some sensitive files.
import groovy.transform.TypeChecked;
import sun.misc.IOUtils;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
@TypeChecked
class T {
public static void main(String[] args) {
def folder="C:\\Users\\dsorescu\\Documents\\My Received Files";
ZipFile zip=new ZipFile(folder+"\\"+"MY_SECRET_ZIP_FILE_NAME.zip");
zip.entries().each {ZipEntry entry->
System.out.println(entry.name);
File f=new File(folder+"\\"+entry.name);
f.parentFile.mkdirs();
if(entry.isDirectory()){
f.mkdir();
}else{
f.createNewFile();
FileOutputStream fos=new FileOutputStream(f);
fos.write(IOUtils.readFully(zip.getInputStream(entry),-1,true));
fos.close();
}
}
}
}