Ich habe die folgende Java-Methode, die ich verwenden möchte, um eine Zip-Datei zu erstellen, die eine vorhandene Datei geschrieben hat (die Zip-Datei hat den gleichen Namen, nur mit der .log Erweiterung mit .zip ersetzt). Die ZIP-Datei wurde erfolgreich erstellt, die Datei ist jedoch nach Abschluss nicht vorhanden.Java schreibt nicht in Zip-Datei
Hier ist mein Code:
private static void zipFile(File fileToZip) {
final int bufferSize = 2048;
File zipFile = new File(fileToZip.getAbsolutePath().replaceAll(".log", ".zip"));
try (FileOutputStream fos = new FileOutputStream(zipFile.getAbsolutePath());
FileInputStream fis = new FileInputStream(fileToZip);
ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(fos));
BufferedInputStream origin = new BufferedInputStream(fis, bufferSize)) {
ZipEntry ze = new ZipEntry(fileToZip.getAbsolutePath());
zos.putNextEntry(ze);
byte[] data = new byte[bufferSize];
int count;
while ((count = origin.read(data, 0, bufferSize)) != -1) {
LOGGER.info("WRITING!!!");
zos.write(data, 0, count);
}
zos.closeEntry();
} catch (IOException e) {
LOGGER.error("Error: ", e);
}
}
Irgendwelche Ideen? :)
Werke für mich, obwohl die absoluten Pfadnamen verwendet, ist eine seltsame Wahl. –