Est ce que quelqu'un saurait comment faire pour zipper un fichier dans un zip en Java mais SANS tout son chemin.
Je m'explique : je souhaite zipper le fichier base.xml dans un fichier base.zip, mon problème est que je donne le chemin de mon fichier base.xml par exemple : C:/java/exportbase/base.xml et que lorsqu'il me crée le zip je retrouve à l'interieur de ce dernier le fichier mais avec toute son arborescence, i.e. quand je dezzipe base.zip, il me crée :
" java/exportbase/base.xml " or je souhaiterai avoir que base.xml lors du dezippage
voici comment j'appel ma méthode :
Zip Zipfile = new Zip(); String files[] = new String[1]; files[0]="C:/java/exportbase/base.xml "; Zipfile.zip(files);
et voici cette dernière :
public void zip(String files[]) throws FileNotFoundException, IOException, Exception
{
byte data[] = new byte[BUFFER];
FileOutputStream dest = new FileOutputStream("C:/java/exportbase/base.zip");
BufferedOutputStream buff = new BufferedOutputStream(dest);
ZipOutputStream out = new ZipOutputStream(buff);
out.setMethod(ZipOutputStream.DEFLATED);
out.setLevel(9);
for(int i=0; i<files.length; i++) {
FileInputStream fi = new FileInputStream(files[i]);
BufferedInputStream buffi = new BufferedInputStream(fi, BUFFER);
ZipEntry entry = new ZipEntry(files[i]);
out.putNextEntry(entry);
int count;
while((count = buffi.read(data, 0, BUFFER)) != -1) {
out.write(data, 0, count);
}
out.closeEntry();
buffi.close();
}
out.flush();
out.close();
}
J'ai essayé de passer en paramètre uniquement le nom du fichier, le chemin complet mais cela ne fonctionne pas.
Dans le " FileOutputStream " si je met que le nom du fichier il me trouve rien, enfin vous avez bien compris je galère ... ,
Si vous avez une idée ... ou la solution ;-) je suis preneur, merci d'avance
