Ich versuche, ein Programm zum Entpacken und erneutem Zip-Dateien schreiben, ohne auf Festplatte in Java schreiben. Bisher habe ich,Unzip und Zip-Datei entpacken, ohne auf Festplatte zu schreiben - Java
public void unzipFile(String filePath) {
FileInputStream fis = null;
ZipInputStream zipIs = null;
ZipEntry zEntry = null;
try {
fis = new FileInputStream(filePath);
zipIs = new ZipInputStream(new BufferedInputStream(fis));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(baos);
while ((zEntry = zipIs.getNextEntry()) != null) {
zos.putNewEntry(zEntry);
zos.write(...);
zos.close();
}
} catch (IOException e){
e.printStackTrace();
}
}
}
Mein Problem ist, ich weiß nicht, wie die ZipEntry zum ZipOutputStream zu schreiben. Ich erhalte den Fehler "java.util.zip.ZipException: ungültige Eintragsgröße (erwartet 125673, aber 0 Byte erhalten)". Kann mir jemand in die richtige Richtung zeigen?
Nun, für Vorspeisen, nicht nennen 'close()' in der Schleife. – Andreas
Wie rufen Sie diese Methode? –
'" Nun, für den Anfang, rufen Sie nicht nahe() innerhalb der Schleife. "- Ernsthaft –