Hi, I have a a zipped file. That file contains various directories and files also. I want to extract all those and save in a specified path.
So How to write a java program to extract the zipped file.
Thanks Sunil Kumar Sahoo
Hi, I have a a zipped file. That file contains various directories and files also. I want to extract all those and save in a specified path.
So How to write a java program to extract the zipped file.
Thanks Sunil Kumar Sahoo
You should look into using the java.util.zip
package. Sun provides a tutorial on how to use it: Compressing and Decompressing Data Using Java APIs.
Looks like this one may have been answered here:
http://stackoverflow.com/questions/981578/how-to-unzip-files-recursively-in-java
java.util.zip.* does the required thing. Go through the API for refernec. If you are looking for example LookThis
public static void unzip(){
try{
BufferedOutputStream out = null;
ZipInputStream in = new ZipInputStream(ZipFileExtracter.class.getClassLoader().getResourceAsStream("com/artificialmachines/chitme/stamps/ChitMeData.zip"));
ZipEntry entry;
boolean isDirectory=false;
while((entry = in.getNextEntry()) != null){
int count;
byte data[] = new byte[BUFFER];
// write the files to the disk
String entryName = entry.getName();
File newFile = new File(new StringBuffer().append(System.getProperty("user.dir")).append(File.separator).append(entryName).toString());
if(entryName.endsWith("/")){
isDirectory=true;
newFile.mkdir();
//System.out.println("This is directory "+newFile.exists()+" IS DIr "+newFile.isDirectory()+" path "+newFile.getPath());
}else{
newFile.createNewFile();
}
if(!isDirectory){
out = new BufferedOutputStream(new FileOutputStream(newFile),BUFFER);
while ((count = in.read(data,0,BUFFER)) != -1){
out.write(data,0,count);
}
cleanUp(out);
}
isDirectory=false;
}
cleanUp(in);
}
catch(Exception e){
e.printStackTrace();
System.exit(0);
}
}