JAVA zipper des fichiers
Résolu/Fermé
no_7
Messages postés
7
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
5 août 2008
-
5 août 2008 à 16:46
roberto incognito - 5 mai 2010 à 21:32
roberto incognito - 5 mai 2010 à 21:32
A voir également:
- JAVA zipper des fichiers
- Waptrick java football - Télécharger - Jeux vidéo
- Wetransfer gratuit fichiers lourd - Guide
- Comment zipper un pdf - Guide
- Java apk - Télécharger - Langages
- Jeux java itel football - Télécharger - Jeux vidéo
3 réponses
no_7
Messages postés
7
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
5 août 2008
4
5 août 2008 à 17:00
5 août 2008 à 17:00
OK c bon j'ai trouvé
il faut juste modifier ca :
@+
il faut juste modifier ca :
ZipEntry entry = new ZipEntry("baseorg.xml");
@+
Et bien il faut juste ne pas mettre le chemin complet dans le ZipEntry, mais uniquement le nom du fichier.
Salut
J'ai le meme probleme mais les dossiers que je veux compresser ont des sous dossiers... c'est-a-dire que quand je unzip mon dossier.zip, je me retrouve avec l'arbre complet.
Si je sauve mon dossier.zip sur mon Bureau, quand je unzip, j'ai un dossier User dans lequel se trouve un dossier Bureau et finalement dossier...
FileOutputStream dest;
try {
File comp = new File(selectedFile + ".zip");
dest = new FileOutputStream(comp);
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest));
compressFile(selectedFile, out);
out.close();
}
public static void compressFile(File toCompress, ZipOutputStream zos){
BufferedInputStream origin = null;
try {
byte data[] = new byte[1024];
File f = new File(toCompress.getAbsolutePath());
if(f.isDirectory()){
String files[] = f.list();
if(files != null){
for(int i = 0; i < files.length; i++)
compressFile(new File(toCompress.getCanonicalPath() + toCompress.separator + files[i]), zos);
}
}
else{
FileInputStream fi = new FileInputStream(f);
origin = new BufferedInputStream(fi, 1024);
ZipEntry entry = new ZipEntry(f.getAbsolutePath());
zos.putNextEntry(entry);
int count;
while((count = origin.read(data, 0, 1024)) != -1) {
zos.write(data, 0, count);
}
zos.closeEntry();
origin.close();
fi.close();
}
} catch(Exception e) {
e.printStackTrace();
}
}
Lorsque je change
ZipEntry entry = new ZipEntry(f.getAbsolutePath());
en
ZipEntry entry = new ZipEntry(f.getName());
je n'ai plus l'arbre complet dans dossier.zip mais mon dossier.zip est mal compressé et j'ai des erreurs comme celle-ci:
java.util.zip.ZipException: duplicate entry: .DS_Store
java.util.zip.ZipException: duplicate entry: FrameHandler.java
etc...
Merci
J'ai le meme probleme mais les dossiers que je veux compresser ont des sous dossiers... c'est-a-dire que quand je unzip mon dossier.zip, je me retrouve avec l'arbre complet.
Si je sauve mon dossier.zip sur mon Bureau, quand je unzip, j'ai un dossier User dans lequel se trouve un dossier Bureau et finalement dossier...
FileOutputStream dest;
try {
File comp = new File(selectedFile + ".zip");
dest = new FileOutputStream(comp);
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest));
compressFile(selectedFile, out);
out.close();
}
public static void compressFile(File toCompress, ZipOutputStream zos){
BufferedInputStream origin = null;
try {
byte data[] = new byte[1024];
File f = new File(toCompress.getAbsolutePath());
if(f.isDirectory()){
String files[] = f.list();
if(files != null){
for(int i = 0; i < files.length; i++)
compressFile(new File(toCompress.getCanonicalPath() + toCompress.separator + files[i]), zos);
}
}
else{
FileInputStream fi = new FileInputStream(f);
origin = new BufferedInputStream(fi, 1024);
ZipEntry entry = new ZipEntry(f.getAbsolutePath());
zos.putNextEntry(entry);
int count;
while((count = origin.read(data, 0, 1024)) != -1) {
zos.write(data, 0, count);
}
zos.closeEntry();
origin.close();
fi.close();
}
} catch(Exception e) {
e.printStackTrace();
}
}
Lorsque je change
ZipEntry entry = new ZipEntry(f.getAbsolutePath());
en
ZipEntry entry = new ZipEntry(f.getName());
je n'ai plus l'arbre complet dans dossier.zip mais mon dossier.zip est mal compressé et j'ai des erreurs comme celle-ci:
java.util.zip.ZipException: duplicate entry: .DS_Store
java.util.zip.ZipException: duplicate entry: FrameHandler.java
etc...
Merci