Bonjour !
Je reviens ici pour essayer de trouver une solution mon problème sur lequel je galère depuis plusieurs heures sans trouver de réponse.
Bon je cherche à extraire un fichier compressé qui contient des fichiers .jar ou des dossiers contenant eux mêmes des fichiers .jar.
Pour ce faire, j'utilise le code suivante :
Sauf que le code plante à l'extraction d'un fichier .jar et je me retrouve avec un FileNotFoundException que je ne parviens pas à résoudre.
Le ZIP se compose de la manière suivante :
Mods:
1.7.10: (dossier)
fichiers JAR. <--Le code plante ici en me disant que le chemin d'accès .../mods/1.7.10/nom_du_jar est introuvable.
ic2: (dossier)
fichiers JAR
Fichiers JAR.
Avec ce code, après exécution de la commande, je n'obtiens qu'un fichier nommé "mods" (sans format) qui fait 0 octets. Je suis bloqué donc je me tourne vers vous en espérant trouver de l'aide
Voilà !
AlexFatta
Je reviens ici pour essayer de trouver une solution mon problème sur lequel je galère depuis plusieurs heures sans trouver de réponse.
Bon je cherche à extraire un fichier compressé qui contient des fichiers .jar ou des dossiers contenant eux mêmes des fichiers .jar.
Pour ce faire, j'utilise le code suivante :
Code:
public static void getZipFiles(String filename) {
try {
String destinationname = CheckModPackFolder.getModpackfolderpath();
byte[] buf = new byte[1024];
ZipInputStream zipinputstream = null;
ZipEntry zipentry;
zipinputstream = new ZipInputStream(new FileInputStream(destinationname + filename));
zipentry = zipinputstream.getNextEntry();
while (zipentry != null) {
//for each entry to be extracted
String entryName = destinationname + zipentry.getName();
entryName = entryName.replace('/', File.separatorChar);
entryName = entryName.replace('\\', File.separatorChar);
System.out.println("entryname " + entryName);
int n;
FileOutputStream fileoutputstream;
File newFile = new File(entryName);
if (zipentry.isDirectory()) {
if (!newFile.mkdirs()) {
}
zipentry = zipinputstream.getNextEntry();
continue;
}
fileoutputstream = new FileOutputStream(entryName);
while ((n = zipinputstream.read(buf, 0, 1024)) > -1) {
fileoutputstream.write(buf, 0, n);
}
fileoutputstream.close();
zipinputstream.closeEntry();
zipentry = zipinputstream.getNextEntry();
}//while
zipinputstream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Sauf que le code plante à l'extraction d'un fichier .jar et je me retrouve avec un FileNotFoundException que je ne parviens pas à résoudre.
Le ZIP se compose de la manière suivante :
Mods:
1.7.10: (dossier)
fichiers JAR. <--Le code plante ici en me disant que le chemin d'accès .../mods/1.7.10/nom_du_jar est introuvable.
ic2: (dossier)
fichiers JAR
Fichiers JAR.
Avec ce code, après exécution de la commande, je n'obtiens qu'un fichier nommé "mods" (sans format) qui fait 0 octets. Je suis bloqué donc je me tourne vers vous en espérant trouver de l'aide
Voilà !
AlexFatta