Par exemple, je veux un fichier zip stocké dans /Users/me/Desktop/image.jpgComment puis-je les fichiers zip en Java et ne pas inclure les chemins des fichiers
J'ai fait cette méthode:
public static Boolean generateZipFile(ArrayList<String> sourcesFilenames, String destinationDir, String zipFilename){
// Create a buffer for reading the files
byte[] buf = new byte[1024];
try {
// VER SI HAY QUE CREAR EL ROOT PATH
boolean result = (new File(destinationDir)).mkdirs();
String zipFullFilename = destinationDir + "/" + zipFilename ;
System.out.println(result);
// Create the ZIP file
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFullFilename));
// Compress the files
for (String filename: sourcesFilenames) {
FileInputStream in = new FileInputStream(filename);
// Add ZIP entry to output stream.
out.putNextEntry(new ZipEntry(filename));
// Transfer bytes from the file to the ZIP file
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
// Complete the entry
out.closeEntry();
in.close();
} // Complete the ZIP file
out.close();
return true;
} catch (IOException e) {
return false;
}
}
Mais quand j'extrais le fichier, les fichiers décompressés ont le chemin complet.
Je ne veux pas le chemin complet de chaque fichier dans le zip je veux seulement le nom de fichier.
Comment puis-je faire cela?
merci !!!! ça marche super – Ignacio