bonjour,
j'ai un dossier avec plusieurs archives zip et j'aimerai les dézipper en java.
pour l'instant j'ai une fonction pour dézipper une archive.
est-ce que vous pouvez m'aider pour qu'elle dézippe toutes les archives et que les fichiers extraites soient dans des dossiers différentes(nom de dossier = nom de l'archive) ?

voici ma fonction actuel d'extraction :
Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
public void unZipIt(String zipFile, String outputFolder)
    {
        byte[] buffer = new byte[1024];
        try
        {
            ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile));
            ZipEntry ze = zis.getNextEntry();
            while (ze != null)
            {
                String fileName = ze.getName();
                File newFile = new File(outputFolder + File.separator + fileName);
                System.out.println("file unzip : " + newFile.getAbsoluteFile());
                if (ze.isDirectory())
                {
                    String temp = newFile.getCanonicalPath();
                    new File(temp).mkdir();
                }
                else
                {
                    FileOutputStream fos = new FileOutputStream(newFile);
                    int len;
                    while ((len = zis.read(buffer)) > 0)
                    {
                        fos.write(buffer, 0, len);
                    }
                    fos.close();
                }
                ze = zis.getNextEntry();
            }
            zis.closeEntry();
            zis.close();
            System.out.println("Extraction complétée");
 
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
        }
    }

voici l'appel :
Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
this.zip.unZipIt("C:\\Users\\moi\\Desktop\\bilans batch satelit 2016\\sauvegarde_bilans_batch_satelit_2016-01.zip", "C:\\Users\\moi\\Desktop\\bilans batch satelit 2016\\");