The renewal package is convenient.
The Code is a bit confusing. You can turn it into a post !!!
Import java. Io .*;
Import java. util .*;
Import org.apache.tools.zip. zipentry;
Import org.apache.tools.zip. zipfile;
Public class unzip ...{
// Zipfilename is the ZIP file to be decompressed, and extplace is the storage path of the decompressed file. Both files must already exist.
Public static void extzipfilelist (string zipfilename, string extplace) throws
Exception ...{
Zipfile = new zipfile (zipfilename );
Enumeration E = zipfile. getentries ();
Zipentry = NULL;
While (E. hasmoreelements ())...{
Zipentry = (zipentry) E. nextelement ();
String entryname = zipentry. getname ();
String Names [] = entryname. Split ("/");
Int length = names. length;
String Path = extplace;
For (int v = 0; v <length; V ++ )...{
If (v <length-1 )...{
Path + = Names [v] + "/";
New file (PATH). mkdir ();
}
Else... {// last
If (entryname. endswith ("/")... {// is the directory, the folder is created.
New file (extplace + entryname). mkdir ();
}
Else ...{
Inputstream in = zipfile. getinputstream (zipentry );
Outputstream OS = new fileoutputstream (new file (extplace +
Entryname ));
Byte [] Buf = new byte [1, 1024];
Int Len;
While (LEN = in. Read (BUF)> 0 )...{
OS. Write (BUF, 0, Len );
}
In. Close ();
OS. Close ();
}
}
}
}
Zipfile. Close ();
}
}