Hallo zusammen
Folgender UseCase: Ich erhalte über's Netz Daten welche gezippt sind als byte[] zugesendet. Dieses Zip-File würde ich nun In-memory entpacken (ohne ein temporäres File auf der HD anzulegen) und die enthaltenen Dateien weiterverarbeiten.
Folgender Code dazu:
Ich sehe momentan keine Möglichkeit mithilfe des offiziellen Java-ZIP-API's (http://java.sun.com/j2se/1.5.0/docs/api/java/util/zip/package-summary.html) dieses Problem zu lösen Ich möchte auf Zeile 8 anstelle des TODO's den Inhalt der gepackten Dateien weiterverarbeiten..
Wenn ich die Daten aus einer persistenten Datei lesen würde, gäbe es kein Problem. Dies könnte ich über die Methode getInputStream(ZipEntry entry) der Klasse ZipFile erledigen. Jedoch habe ich keine Instanz von ZipFile da das ganze in-memory geschehen soll...
Wer kann mir weiterhelfen?
Vielen Dank und Gruss
Folgender UseCase: Ich erhalte über's Netz Daten welche gezippt sind als byte[] zugesendet. Dieses Zip-File würde ich nun In-memory entpacken (ohne ein temporäres File auf der HD anzulegen) und die enthaltenen Dateien weiterverarbeiten.
Folgender Code dazu:
Code:
public void importAsZip(InputStream in) {
ZipInputStream zipInputStream = new ZipInputStream(in);
ZipEntry entry = null;
try {
while((entry = zipInputStream.getNextEntry()) != null) {
// TODO
}
} catch (IOException e) {
// errorhandling
} finally {
// close stream
}
}
Ich sehe momentan keine Möglichkeit mithilfe des offiziellen Java-ZIP-API's (http://java.sun.com/j2se/1.5.0/docs/api/java/util/zip/package-summary.html) dieses Problem zu lösen Ich möchte auf Zeile 8 anstelle des TODO's den Inhalt der gepackten Dateien weiterverarbeiten..
Wenn ich die Daten aus einer persistenten Datei lesen würde, gäbe es kein Problem. Dies könnte ich über die Methode getInputStream(ZipEntry entry) der Klasse ZipFile erledigen. Jedoch habe ich keine Instanz von ZipFile da das ganze in-memory geschehen soll...
Wer kann mir weiterhelfen?
Vielen Dank und Gruss