Extracting ZIP/JAR/WAR/TAR/RAR file using java
Using ZipEntry and ZipInputstream classes we can extract the zip/jar/war/tar files.
here is the code snippet....
public static void extractZipFiles(String filename) {
try {
// destination folder to extract the contents
String destinationname = "d:\\temp\\testZip\\";
byte[] buf = new byte[1024];
ZipInputStream zipinputstream = null;
ZipEntry zipentry;
zipinputstream = new ZipInputStream(new FileInputStream(filename));
zipentry = zipinputstream.getNextEntry();
while (zipentry != null) {
// for each entry to be extracted
String entryName = zipentry.getName();
int n;
FileOutputStream fileoutputstream;
File newFile = new File(entryName);
String directory = newFile.getParent();
// to creating the parent directories
if (directory == null) {
if (newFile.isDirectory()){
break;
}
} else {
new File(destinationname+directory).mkdirs();
}
if(!zipentry.isDirectory()){
System.out.println("File to be extracted....."+ entryName);
fileoutputstream = new FileOutputStream(destinationname + entryName);
while ((n = zipinputstream.read(buf, 0, 1024)) > -1){
fileoutputstream.write(buf, 0, n);
}
fileoutputstream.close();
}
zipinputstream.closeEntry();
zipentry = zipinputstream.getNextEntry();
}// while
zipinputstream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
...
Using ZipEntry and ZipInputstream classes we can extract the zip/jar/war/tar files.
here is the code snippet....
public static void extractZipFiles(String filename) {
try {
// destination folder to extract the contents
String destinationname = "d:\\temp\\testZip\\";
byte[] buf = new byte[1024];
ZipInputStream zipinputstream = null;
ZipEntry zipentry;
zipinputstream = new ZipInputStream(new FileInputStream(filename));
zipentry = zipinputstream.getNextEntry();
while (zipentry != null) {
// for each entry to be extracted
String entryName = zipentry.getName();
int n;
FileOutputStream fileoutputstream;
File newFile = new File(entryName);
String directory = newFile.getParent();
// to creating the parent directories
if (directory == null) {
if (newFile.isDirectory()){
break;
}
} else {
new File(destinationname+directory).mkdirs();
}
if(!zipentry.isDirectory()){
System.out.println("File to be extracted....."+ entryName);
fileoutputstream = new FileOutputStream(destinationname + entryName);
while ((n = zipinputstream.read(buf, 0, 1024)) > -1){
fileoutputstream.write(buf, 0, n);
}
fileoutputstream.close();
}
zipinputstream.closeEntry();
zipentry = zipinputstream.getNextEntry();
}// while
zipinputstream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
...