Charger un zip et le décompresser
Bonjour,
J'aurais aimé :
- uploader un fichier zip depuis un client vers mon serveur
- dézipper le fichier télécharger qui contient un dossier (contenant des fichiers) et un fichier
-supprimer le fichier zip en dernier lieu
J'ai trouvé un code pour dézipper mais je n'arrive pas à lire les fichiers à l'intérieur du dossier zipper.
Voici le code :
Code:
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 41 42 43 44 45 46 47 48 49 50
| try
{
context = getServletContext();
String path ="Chemin jusqu'à mon fichier zip";
uplDir = context.getRealPath("/").substring(0,context.getRealPath("/").lastIndexOf("\\"))+"\\export";
byte[] buffer = new byte[2048];
ZipInputStream zipinputstream;
ZipEntry zipentry;
zipinputstream = new ZipInputStream(new FileInputStream(path));
zipentry = zipinputstream.getNextEntry();
while (zipentry != null)
{
//for each entry to be extracted
String entryName = zipentry.getName();
//System.out.println("entryname "+entryName);
LogWriter.add("TEST entrée",entryName);
int n;
FileOutputStream fileoutputstream;
File newFile = new File(entryName);
String directory = newFile.getParent();
if(directory == null)
{
if(newFile.isDirectory())
break;
}
fileoutputstream = new FileOutputStream(path+entryName);
while ((n = zipinputstream.read(buffer, 0, 2048)) > -1)
fileoutputstream.write(buffer, 0, n);
fileoutputstream.close();
zipinputstream.closeEntry();
zipentry = zipinputstream.getNextEntry();
}//while
zipinputstream.close();
}
catch (Exception e)
{
LogWriter.add(this.getClass().toString(),e.toString());
} |
Merci de votre aide