classe publique UnZipper {
/**
* La fonction de décompression des fichiers dans le répertoire actuel équivaut à un clic droit et à la sélection de la décompression.
* @param fichier zip
* @param
* @auteur gabriel
*/
@SuppressWarnings("types bruts")
public static void unZipFiles (File zipFile) lance IOException {
//Récupère le répertoire où se trouve le fichier compressé
Chemin de chaîne=zipFile.getAbsolutePath();
path=path.substring(0,path.lastIndexOf("//"));
// System.out.println("chemin "+chemin);
ZipFile zip = nouveau ZipFile(zipFile);
for(Entrées d'énumération =zip.entries();
entrées.hasMoreElements();){
Entrée ZipEntry = (ZipEntry)entries.nextElement();
String zipEntryName = Entry.getName();
InputStream in = zip.getInputStream(entrée);
//répertoire de sortie outPath
String outPath = (path+"//"+zipEntryName).replaceAll("//*", "/");;
//System.out.println("outPath "+outPath);
// Détermine si le chemin existe, sinon crée le chemin du fichier
Fichier file = new File(outPath.substring(0, outPath.lastIndexOf('/')));
si(!file.exists()){
fichier.mkdirs();
}
//Détermine si le chemin complet du fichier est un dossier. S'il a été téléchargé ci-dessus, il n'est pas nécessaire de le décompresser.
if(new File(outPath).isDirectory()){
continuer;
}
//Informations sur le chemin du fichier de sortie
System.out.println(outPath);
OutputStream out = nouveau FileOutputStream(outPath);
octet[] buf1 = nouvel octet[1024];
int lentille ;
while((len=in.read(buf1))>0){
out.write(buf1,0,len);
}
joindre();
out.close();
}
System.out.println("******************Décompression terminée*********************** *");
}
public static void main (String[] arguments) {
essayer {
unZipFiles(nouveau fichier("D://all//zip//Default.adiumemoticonset.zip"));
} catch (IOException e) {
// TODO Bloc catch généré automatiquement
e.printStackTrace();
}
}
}