Zum Beispiel ist, möchte ich eine Datei in /Users/me/Desktop/image.jpg gespeichert zipWie kann ich Dateien in Java zip und keine Dateien Pfade
ich diese Methode gemacht:
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;
}
}
Aber wenn ich die Datei extrahiere, haben die entpackten Dateien den vollständigen Pfad.
Ich möchte nicht den vollständigen Pfad jeder Datei in der Zip ich möchte nur den Dateinamen.
Wie kann ich das machen?
danke !!!! es funktioniert super – Ignacio