package com.nmmc.dms.utils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class UnZipFile {
private static void extractFile(InputStream inStream, OutputStream outStream) throws IOException {
byte[] buf = new byte[1024];
int l;
while ((l = inStream.read(buf)) >= 0) {
outStream.write(buf, 0, l);
}
inStream.close();
outStream.close();
}
public static boolean extractZipFile(String strZipLocation, String folderPath) {
try {
strZipLocation.replaceAll("\\\\", "/");
folderPath.replaceAll("\\\\", "/");
ZipFile zip = new ZipFile(strZipLocation);
Enumeration enumEntries = zip.entries();
while (enumEntries.hasMoreElements()) {
ZipEntry zipentry = (ZipEntry) enumEntries.nextElement();
System.out.println("Name of Extract File : " + zipentry.getName());
if (zipentry.isDirectory()) {
System.out.println("Name of Extract directory : " + zipentry.getName());
(new File(folderPath + "/" + zipentry.getName())).mkdirs();
continue;
}
else{
String result ="";
String[] splitString = zipentry.getName().split("/");
for(int i=0;i<splitString.length-1;i++){
result=result+splitString[i]+"/";
}
//String result = zipentry.getName().substring(0, zipentry.getName().lastIndexOf('/', zipentry.getName().lastIndexOf('/') - 1));
File file=new File(folderPath + "/"+result);
boolean exists = file.exists();
if(!exists){
System.out.println("Name of Extract directory : " + result);
(new File(folderPath + "/"+result)).mkdirs();
}
extractFile(zip.getInputStream(zipentry), new FileOutputStream(folderPath + "/" + zipentry.getName()));
}
}
zip.close();
} catch (IOException ioe) {
System.out.println("There is an IoException Occured :" + ioe);
ioe.printStackTrace();
return false;
}
return true;
}
public static void main(String args[]) {
UnZipFile file = new UnZipFile();
file.extractZipFile("C:\\Jack Rabbit Integration.zip", "D:");
}
}
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class UnZipFile {
private static void extractFile(InputStream inStream, OutputStream outStream) throws IOException {
byte[] buf = new byte[1024];
int l;
while ((l = inStream.read(buf)) >= 0) {
outStream.write(buf, 0, l);
}
inStream.close();
outStream.close();
}
public static boolean extractZipFile(String strZipLocation, String folderPath) {
try {
strZipLocation.replaceAll("\\\\", "/");
folderPath.replaceAll("\\\\", "/");
ZipFile zip = new ZipFile(strZipLocation);
Enumeration enumEntries = zip.entries();
while (enumEntries.hasMoreElements()) {
ZipEntry zipentry = (ZipEntry) enumEntries.nextElement();
System.out.println("Name of Extract File : " + zipentry.getName());
if (zipentry.isDirectory()) {
System.out.println("Name of Extract directory : " + zipentry.getName());
(new File(folderPath + "/" + zipentry.getName())).mkdirs();
continue;
}
else{
String result ="";
String[] splitString = zipentry.getName().split("/");
for(int i=0;i<splitString.length-1;i++){
result=result+splitString[i]+"/";
}
//String result = zipentry.getName().substring(0, zipentry.getName().lastIndexOf('/', zipentry.getName().lastIndexOf('/') - 1));
File file=new File(folderPath + "/"+result);
boolean exists = file.exists();
if(!exists){
System.out.println("Name of Extract directory : " + result);
(new File(folderPath + "/"+result)).mkdirs();
}
extractFile(zip.getInputStream(zipentry), new FileOutputStream(folderPath + "/" + zipentry.getName()));
}
}
zip.close();
} catch (IOException ioe) {
System.out.println("There is an IoException Occured :" + ioe);
ioe.printStackTrace();
return false;
}
return true;
}
public static void main(String args[]) {
UnZipFile file = new UnZipFile();
file.extractZipFile("C:\\Jack Rabbit Integration.zip", "D:");
}
}