Zipper un dossier
Knux14
Messages postés
19
Statut
Membre
-
Knux14 Messages postés 19 Statut Membre -
Knux14 Messages postés 19 Statut Membre -
Bonjour,
J'ai créé un logiciel pour installer des mods à Minecraft. Le logiciel est sensé décompresser un fichier .jar, décompresser un fichier .zip dans le même dossier (en remplaçant) puis recompresser le tout. Tout marche sauf la recompression j'arrive à compresser des fichiers simple mais quand il y a un dossier dedans, le .zip créé est illisible (quand il est ouvert avec un logiciel j'ai cette erreur:
Voici mon code:
Merci d'avance, Cordialement, Knux14
J'ai créé un logiciel pour installer des mods à Minecraft. Le logiciel est sensé décompresser un fichier .jar, décompresser un fichier .zip dans le même dossier (en remplaçant) puis recompresser le tout. Tout marche sauf la recompression j'arrive à compresser des fichiers simple mais quand il y a un dossier dedans, le .zip créé est illisible (quand il est ouvert avec un logiciel j'ai cette erreur:
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=fr_FR.UTF-8,Utf16=on,HugeFiles=on,2 CPUs) Error: /home/knux/NetBeansProjects/MinecraftServerDownloader/fichierzip.zip: Can not open file as archive Errors: 1
Voici mon code:
public static int buffer = 10240;
public void zip(final File zipFile, final File[] listFiles, final JProgressBar bar)
{
bar.setIndeterminate(true);
new Thread()
{
@Override
public void run()
{
bar.setIndeterminate(false);
bar.setMaximum(listFiles.length);
try {
byte b[] = new byte[buffer];
FileOutputStream fout = new FileOutputStream(zipFile);
ZipOutputStream out = new ZipOutputStream(fout);
for (int i = 0; i < listFiles.length; i++) {
bar.setValue(bar.getValue() + i);
if (listFiles[i] == null || !listFiles[i].exists()|| listFiles[i].isDirectory())
System.out.println();
ZipEntry addFiles = new ZipEntry(listFiles[i].getName());
addFiles.setTime(listFiles[i].lastModified());
out.putNextEntry(addFiles);
FileInputStream fin = new FileInputStream(listFiles[i]);
while (true) {
int len = fin.read(b, 0, b.length);
if (len <= 0)
break;
out.write(b, 0, len);
}
fin.close();
}
out.close();
fout.close();
System.out.println("Zip File is created successfully.");
} catch (Exception ex) {}
}
}.start();
} et le code du bouton est :
File zip = new File("fichierzip.zip");
File folder = new File("Folder");
if(!folder.exists())
folder.mkdir();
zip(zip, folder.listFiles(), jProgressBar1);
Merci d'avance, Cordialement, Knux14
A voir également:
- Zipper un dossier
- Dossier appdata - Guide
- Impossible de supprimer un dossier - Guide
- Mettre un mot de passe sur un dossier - Guide
- Dossier rar - Guide
- Dossier démarrage windows 11 - Guide