Bonjour je voudrai zippé un fichier pdf et xml et je voudrai savoir commment on fait. J'ai vu qu'il existait une classe Java Zipfile mais je ne comprends pas comment elle marche.
Merci.![]()
Bonjour je voudrai zippé un fichier pdf et xml et je voudrai savoir commment on fait. J'ai vu qu'il existait une classe Java Zipfile mais je ne comprends pas comment elle marche.
Merci.![]()
voici un code qui permet la sauvegarde d'un répertoire (et de tous ses sous répertoire) dans un zip de nom "zipName" :
la plupart des classes utilisées sont dans le package java.util.zip, et autre java.io
Code : 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 private void save(String zipName) { try { ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(zipName)); zip.setMethod(ZipOutputStream.DEFLATED); zip.setLevel(Deflater.BEST_COMPRESSION); File dataDirectories = new File(Chemin du répertoire ou du fichier); zipDirectory(dataDirectories, zip); zip.close(); } catch (FileNotFoundException fileNotFound) {} catch (IOException io) {} } private void zipDirectory(File directory, ZipOutputStream zip) { String[] listFile = directory.list(); for (int i = 0; i < listFile.length; i++) { try { File file = new File(directory.getPath()+"/"+listFile[i]); if (file.isDirectory()) zipDirectory(file, zip); else { FileInputStream in = new FileInputStream(file); byte[] bytes = new byte[in.available()]; in.read(bytes); in.close(); ZipEntry entry = new ZipEntry(file.getPath()); entry.setTime(file.lastModified()); zip.putNextEntry(entry); zip.write(bytes); zip.closeEntry(); } } catch (FileNotFoundException fileNotFound) {} catch (IOException io) {} } }
voila en espérant que cela t'aide.
et tu me demanderas bientot mais pour dézipper et bah voila la suite:
je fais juste un effacage de l'ancien repertoire au début pour éviter tout ecrasement etc...je prefere effacer c plus direct
Code : 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 private void load(String zipName) { try { deleteAllFiles(new File(chemin de ton ancien rep ou fichier)); ZipFile zipFile = new ZipFile(zipName); Enumeration entries = zipFile.entries(); ZipEntry entry; File file; while (entries.hasMoreElements()) { entry = (ZipEntry) entries.nextElement(); file = new File(entry.getName()); file.getParentFile().mkdir(); int i = 0; byte[] bytes = new byte[1024]; BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file)); BufferedInputStream in = new BufferedInputStream(zipFile.getInputStream(entry)); while((i = in.read(bytes)) != -1) out.write(bytes,0,i); in.close(); out.flush(); out.close(); } zipFile.close(); } catch (FileNotFoundException fileNotFound) {} catch (IOException io) {} } private void deleteAllFiles(File directory) { String[] listFile = directory.list(); for (int i = 0; i < listFile.length; i++) { File file = new File(directory.getPath()+"/"+listFile[i]); if (file.isDirectory()) deleteAllFiles(file); else if (file.exists()) file.delete(); } }
voila
Ok merci bcp. Je vais tout de suite essayer ça.![]()
Voilà le code pour zippé un simple fichier.
La méthode prend en paramètre le nom du fichier zip final et l'url de fichier à zippé.
En tout cas merci bcp pr ton aide!!!
Code : 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 private void save(String zipName, String urlfich) { try { ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(zipName)); zip.setMethod(ZipOutputStream.DEFLATED); zip.setLevel(Deflater.BEST_COMPRESSION); File dataDirectories = new File(urlfich); FileInputStream fis = new FileInputStream(dataDirectories); byte[] bytes = new byte[fis.available()]; fis.read(bytes); ZipEntry entry = new ZipEntry(urlfich); entry.setTime(dataDirectories.lastModified()); zip.putNextEntry(entry); zip.write(bytes); zip.closeEntry(); fis.close(); //zipDirectory(dataDirectories, zip); zip.close(); } catch (FileNotFoundException fileNotFound) { } catch (IOException io) { } }![]()
Partager